summaryrefslogtreecommitdiffstats
path: root/mlir/lib
diff options
context:
space:
mode:
Diffstat (limited to 'mlir/lib')
-rw-r--r--mlir/lib/IR/Builders.cpp18
-rw-r--r--mlir/lib/Transforms/DialectConversion.cpp18
-rw-r--r--mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp11
3 files changed, 18 insertions, 29 deletions
diff --git a/mlir/lib/IR/Builders.cpp b/mlir/lib/IR/Builders.cpp
index 4d6cd3550ca..8c54df4d55b 100644
--- a/mlir/lib/IR/Builders.cpp
+++ b/mlir/lib/IR/Builders.cpp
@@ -306,6 +306,13 @@ AffineMap Builder::getShiftedAffineMap(AffineMap map, int64_t shift) {
OpBuilder::~OpBuilder() {}
+/// Insert the given operation at the current insertion point and return it.
+Operation *OpBuilder::insert(Operation *op) {
+ if (block)
+ block->getOperations().insert(insertPoint, op);
+ return op;
+}
+
/// Add new block and set the insertion point to the end of it. The block is
/// inserted at the provided insertion point of 'parent'.
Block *OpBuilder::createBlock(Region *parent, Region::iterator insertPt) {
@@ -328,10 +335,7 @@ Block *OpBuilder::createBlock(Block *insertBefore) {
/// Create an operation given the fields represented as an OperationState.
Operation *OpBuilder::createOperation(const OperationState &state) {
- assert(block && "createOperation() called without setting builder's block");
- auto *op = Operation::create(state);
- insert(op);
- return op;
+ return insert(Operation::create(state));
}
/// Attempts to fold the given operation and places new results within
@@ -359,9 +363,3 @@ void OpBuilder::tryFold(Operation *op, SmallVectorImpl<Value *> &results) {
[](OpFoldResult result) { return result.get<Value *>(); });
op->erase();
}
-
-/// Insert the given operation at the current insertion point.
-void OpBuilder::insert(Operation *op) {
- if (block)
- block->getOperations().insert(insertPoint, op);
-}
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.
diff --git a/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp b/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
index aa4563c96e4..e2ca3f8fc5e 100644
--- a/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
+++ b/mlir/lib/Transforms/Utils/GreedyPatternRewriteDriver.cpp
@@ -86,12 +86,11 @@ public:
// These are hooks implemented for PatternRewriter.
protected:
- // Implement the hook for creating operations, and make sure that newly
- // created ops are added to the worklist for processing.
- Operation *createOperation(const OperationState &state) override {
- auto *result = OpBuilder::createOperation(state);
- addToWorklist(result);
- return result;
+ // Implement the hook for inserting operations, and make sure that newly
+ // inserted ops are added to the worklist for processing.
+ Operation *insert(Operation *op) override {
+ addToWorklist(op);
+ return OpBuilder::insert(op);
}
// If an operation is about to be removed, make sure it is not in our
OpenPOWER on IntegriCloud