diff --git a/mlir/include/mlir/Transforms/DialectConversion.h b/mlir/include/mlir/Transforms/DialectConversion.h --- a/mlir/include/mlir/Transforms/DialectConversion.h +++ b/mlir/include/mlir/Transforms/DialectConversion.h @@ -1068,11 +1068,11 @@ /// there is an op explicitly marked as illegal, the conversion terminates and /// the `unconvertedOps` set will not necessarily be complete.) LogicalResult -applyPartialConversion(ArrayRef ops, ConversionTarget &target, +applyPartialConversion(ArrayRef ops, const ConversionTarget &target, const FrozenRewritePatternSet &patterns, DenseSet *unconvertedOps = nullptr); LogicalResult -applyPartialConversion(Operation *op, ConversionTarget &target, +applyPartialConversion(Operation *op, const ConversionTarget &target, const FrozenRewritePatternSet &patterns, DenseSet *unconvertedOps = nullptr); @@ -1081,9 +1081,9 @@ /// fails, or if there are unreachable blocks in any of the regions nested /// within 'ops'. LogicalResult applyFullConversion(ArrayRef ops, - ConversionTarget &target, + const ConversionTarget &target, const FrozenRewritePatternSet &patterns); -LogicalResult applyFullConversion(Operation *op, ConversionTarget &target, +LogicalResult applyFullConversion(Operation *op, const ConversionTarget &target, const FrozenRewritePatternSet &patterns); /// Apply an analysis conversion on the given operations, and all nested diff --git a/mlir/lib/Transforms/Utils/DialectConversion.cpp b/mlir/lib/Transforms/Utils/DialectConversion.cpp --- a/mlir/lib/Transforms/Utils/DialectConversion.cpp +++ b/mlir/lib/Transforms/Utils/DialectConversion.cpp @@ -1677,7 +1677,7 @@ public: using LegalizationAction = ConversionTarget::LegalizationAction; - OperationLegalizer(ConversionTarget &targetInfo, + OperationLegalizer(const ConversionTarget &targetInfo, const FrozenRewritePatternSet &patterns); /// Returns true if the given operation is known to be illegal on the target. @@ -1688,7 +1688,7 @@ LogicalResult legalize(Operation *op, ConversionPatternRewriter &rewriter); /// Returns the conversion target in use by the legalizer. - ConversionTarget &getTarget() { return target; } + const ConversionTarget &getTarget() { return target; } private: /// Attempt to legalize the given operation by folding it. @@ -1766,14 +1766,14 @@ SmallPtrSet appliedPatterns; /// The legalization information provided by the target. - ConversionTarget ⌖ + const ConversionTarget ⌖ /// The pattern applicator to use for conversions. PatternApplicator applicator; }; } // namespace -OperationLegalizer::OperationLegalizer(ConversionTarget &targetInfo, +OperationLegalizer::OperationLegalizer(const ConversionTarget &targetInfo, const FrozenRewritePatternSet &patterns) : target(targetInfo), applicator(patterns) { // The set of patterns that can be applied to illegal operations to transform @@ -2302,7 +2302,7 @@ // rewrite patterns. The conversion behaves differently depending on the // conversion mode. struct OperationConverter { - explicit OperationConverter(ConversionTarget &target, + explicit OperationConverter(const ConversionTarget &target, const FrozenRewritePatternSet &patterns, OpConversionMode mode, DenseSet *trackedOps = nullptr) @@ -2393,7 +2393,7 @@ function_ref notifyCallback) { if (ops.empty()) return success(); - ConversionTarget &target = opLegalizer.getTarget(); + const ConversionTarget &target = opLegalizer.getTarget(); // Compute the set of operations and blocks to convert. SmallVector toConvert; @@ -3366,7 +3366,7 @@ LogicalResult mlir::applyPartialConversion(ArrayRef ops, - ConversionTarget &target, + const ConversionTarget &target, const FrozenRewritePatternSet &patterns, DenseSet *unconvertedOps) { OperationConverter opConverter(target, patterns, OpConversionMode::Partial, @@ -3374,7 +3374,7 @@ return opConverter.convertOperations(ops); } LogicalResult -mlir::applyPartialConversion(Operation *op, ConversionTarget &target, +mlir::applyPartialConversion(Operation *op, const ConversionTarget &target, const FrozenRewritePatternSet &patterns, DenseSet *unconvertedOps) { return applyPartialConversion(llvm::ArrayRef(op), target, patterns, @@ -3385,13 +3385,13 @@ // Full Conversion LogicalResult -mlir::applyFullConversion(ArrayRef ops, ConversionTarget &target, +mlir::applyFullConversion(ArrayRef ops, const ConversionTarget &target, const FrozenRewritePatternSet &patterns) { OperationConverter opConverter(target, patterns, OpConversionMode::Full); return opConverter.convertOperations(ops); } LogicalResult -mlir::applyFullConversion(Operation *op, ConversionTarget &target, +mlir::applyFullConversion(Operation *op, const ConversionTarget &target, const FrozenRewritePatternSet &patterns) { return applyFullConversion(llvm::ArrayRef(op), target, patterns); }