[Mlir-commits] [mlir] [mlir][dataflow] Use successor.isParent to replace successor.getSuccessor (NFC) (PR #174615)

llvmlistbot at llvm.org llvmlistbot at llvm.org
Tue Jan 6 08:10:25 PST 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-mlir

Author: lonely eagle (linuxlonelyeagle)

<details>
<summary>Changes</summary>

To make the code logic clearer, use successor.isParent to replace successor.getSuccessor.

---
Full diff: https://github.com/llvm/llvm-project/pull/174615.diff


3 Files Affected:

- (modified) mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp (+1-1) 
- (modified) mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp (+3-3) 
- (modified) mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp (+1-1) 


``````````diff
diff --git a/mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp b/mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp
index 24cb123e51877..6e5d03a0c5098 100644
--- a/mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp
+++ b/mlir/lib/Analysis/AliasAnalysis/LocalAliasAnalysis.cpp
@@ -173,7 +173,7 @@ static void collectUnderlyingAddressValues(BlockArgument arg, unsigned maxDepth,
     RegionSuccessor regionSuccessor(region);
     bool found = false;
     for (RegionSuccessor &successor : successors) {
-      if (successor.getSuccessor() == region) {
+      if (!successor.isParent()) {
         LDBG() << "  Found matching region successor: " << successor;
         found = true;
         regionSuccessor = successor;
diff --git a/mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp b/mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
index 062bc5ea22d17..7648d8ab4b532 100644
--- a/mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
+++ b/mlir/lib/Analysis/DataFlow/DeadCodeAnalysis.cpp
@@ -514,9 +514,9 @@ void DeadCodeAnalysis::visitRegionBranchEdges(
   for (const RegionSuccessor &successor : successors) {
     // The successor can be either an entry block or the parent operation.
     ProgramPoint *point =
-        successor.getSuccessor()
-            ? getProgramPointBefore(&successor.getSuccessor()->front())
-            : getProgramPointAfter(regionBranchOp);
+        successor.isParent()
+            ? getProgramPointAfter(regionBranchOp)
+            : getProgramPointBefore(&successor.getSuccessor()->front());
 
     // Mark the entry block as executable.
     auto *state = getOrCreate<Executable>(point);
diff --git a/mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp b/mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
index 7a7a58384fbb8..232bf14827556 100644
--- a/mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
+++ b/mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
@@ -373,7 +373,7 @@ struct TestNextAccessPass
       SmallVector<RegionSuccessor> regionSuccessors;
       iface.getSuccessorRegions(RegionBranchPoint::parent(), regionSuccessors);
       for (const RegionSuccessor &successor : regionSuccessors) {
-        if (!successor.getSuccessor() || successor.getSuccessor()->empty())
+        if (successor.isParent() || successor.getSuccessor()->empty())
           continue;
         Block &successorBlock = successor.getSuccessor()->front();
         ProgramPoint *successorPoint =

``````````

</details>


https://github.com/llvm/llvm-project/pull/174615


More information about the Mlir-commits mailing list