summaryrefslogtreecommitdiffstats
path: root/mlir/lib/Transforms/DialectConversion.cpp
diff options
context:
space:
mode:
authorRiver Riddle <riverriddle@google.com>2019-12-11 16:26:08 -0800
committerA. Unique TensorFlower <gardener@tensorflow.org>2019-12-11 16:26:45 -0800
commit851a8516d3883088b0c02601f9c1bb269e85051c (patch)
tree7c0485fe353c4d6f10d92e7b36c4be90346c8068 /mlir/lib/Transforms/DialectConversion.cpp
parent9dfa84a269e245ebaff032f698a798f71da2c1b5 (diff)
downloadbcm5719-llvm-851a8516d3883088b0c02601f9c1bb269e85051c.tar.gz
bcm5719-llvm-851a8516d3883088b0c02601f9c1bb269e85051c.zip
Make OpBuilder::insert virtual instead of OpBuilder::createOperation.
It is sometimes useful to create operations separately from the builder before insertion as it may be easier to erase them in isolation if necessary. One example use case for this is folding, as we will only want to insert newly generated constant operations on success. This has the added benefit of fixing some silent PatternRewriter failures related to cloning, as the OpBuilder 'clone' methods don't call createOperation. PiperOrigin-RevId: 285086242
Diffstat (limited to 'mlir/lib/Transforms/DialectConversion.cpp')
-rw-r--r--mlir/lib/Transforms/DialectConversion.cpp18
1 files changed, 5 insertions, 13 deletions
diff --git a/mlir/lib/Transforms/DialectConversion.cpp b/mlir/lib/Transforms/DialectConversion.cpp
index 6d34db90912..ea4ad681693 100644
--- a/mlir/lib/Transforms/DialectConversion.cpp
+++ b/mlir/lib/Transforms/DialectConversion.cpp
@@ -802,13 +802,6 @@ void ConversionPatternRewriter::replaceUsesOfBlockArgument(BlockArgument *from,
impl->mapping.map(impl->mapping.lookupOrDefault(from), to);
}
-/// Clone the given operation without cloning its regions.
-Operation *ConversionPatternRewriter::cloneWithoutRegions(Operation *op) {
- Operation *newOp = OpBuilder::cloneWithoutRegions(*op);
- impl->createdOps.push_back(newOp);
- return newOp;
-}
-
/// Return the converted value that replaces 'key'. Return 'key' if there is
/// no such a converted value.
Value *ConversionPatternRewriter::getRemappedValue(Value *key) {
@@ -854,12 +847,11 @@ void ConversionPatternRewriter::cloneRegionBefore(
}
/// PatternRewriter hook for creating a new operation.
-Operation *
-ConversionPatternRewriter::createOperation(const OperationState &state) {
- LLVM_DEBUG(llvm::dbgs() << "** Creating operation : " << state.name << "\n");
- auto *result = OpBuilder::createOperation(state);
- impl->createdOps.push_back(result);
- return result;
+Operation *ConversionPatternRewriter::insert(Operation *op) {
+ LLVM_DEBUG(llvm::dbgs() << "** Inserting operation : " << op->getName()
+ << "\n");
+ impl->createdOps.push_back(op);
+ return OpBuilder::insert(op);
}
/// PatternRewriter hook for updating the root operation in-place.
OpenPOWER on IntegriCloud