[Mlir-commits] [mlir] 78e0cca - [mlir] Fix debug output for passes that modify top-level operation. (#80022)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Wed Jan 31 02:53:01 PST 2024


Author: Robert Konicar
Date: 2024-01-31T02:52:56-08:00
New Revision: 78e0cca135076154abab21eadd146dc1dfd3549f

URL: https://github.com/llvm/llvm-project/commit/78e0cca135076154abab21eadd146dc1dfd3549f
DIFF: https://github.com/llvm/llvm-project/commit/78e0cca135076154abab21eadd146dc1dfd3549f.diff

LOG: [mlir] Fix debug output for passes that modify top-level operation. (#80022)

Make it so that when the top-level (root) operation itself is being
modified, it is also used as the root for debug output in
PatternApplicator.

Fix #80021

Added: 
    

Modified: 
    mlir/lib/Rewrite/PatternApplicator.cpp

Removed: 
    


################################################################################
diff  --git a/mlir/lib/Rewrite/PatternApplicator.cpp b/mlir/lib/Rewrite/PatternApplicator.cpp
index 0064eb84aba84..ea43f8a147d47 100644
--- a/mlir/lib/Rewrite/PatternApplicator.cpp
+++ b/mlir/lib/Rewrite/PatternApplicator.cpp
@@ -40,7 +40,11 @@ static void logImpossibleToMatch(const Pattern &pattern) {
 
 /// Log IR after pattern application.
 static Operation *getDumpRootOp(Operation *op) {
-  return op->getParentWithTrait<mlir::OpTrait::IsIsolatedFromAbove>();
+  Operation *isolatedParent =
+      op->getParentWithTrait<mlir::OpTrait::IsIsolatedFromAbove>();
+  if (isolatedParent)
+    return isolatedParent;
+  return op;
 }
 static void logSucessfulPatternApplication(Operation *op) {
   llvm::dbgs() << "// *** IR Dump After Pattern Application ***\n";


        


More information about the Mlir-commits mailing list