// before the root is changed.
void notifyRootReplaced(Operation *op, ValueRange replacement) override;
- /// PatternRewriter hook for erasing a dead operation.
- void eraseOp(Operation *op) override;
-
/// PatternRewriter hook for notifying match failure reasons.
LogicalResult
notifyMatchFailure(Location loc,
}
void GreedyPatternRewriteDriver::notifyOperationRemoved(Operation *op) {
+ LLVM_DEBUG({
+ logger.startLine() << "** Erase : '" << op->getName() << "'(" << op
+ << ")\n";
+ });
+
addOperandsToWorklist(op->getOperands());
op->walk([this](Operation *operation) {
removeFromWorklist(operation);
addToWorklist(user);
}
-void GreedyPatternRewriteDriver::eraseOp(Operation *op) {
- LLVM_DEBUG({
- logger.startLine() << "** Erase : '" << op->getName() << "'(" << op
- << ")\n";
- });
- PatternRewriter::eraseOp(op);
-}
-
LogicalResult GreedyPatternRewriteDriver::notifyMatchFailure(
Location loc, function_ref<void(Diagnostic &)> reasonCallback) {
LLVM_DEBUG({