diff options
| author | River Riddle <riverriddle@google.com> | 2019-12-11 16:26:08 -0800 |
|---|---|---|
| committer | A. Unique TensorFlower <gardener@tensorflow.org> | 2019-12-11 16:26:45 -0800 |
| commit | 851a8516d3883088b0c02601f9c1bb269e85051c (patch) | |
| tree | 7c0485fe353c4d6f10d92e7b36c4be90346c8068 /mlir/lib/Transforms/DialectConversion.cpp | |
| parent | 9dfa84a269e245ebaff032f698a798f71da2c1b5 (diff) | |
| download | bcm5719-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.cpp | 18 |
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. |

