[llvm] [SimplifyCFG] Enable MergeBlockIntoPredecessor with two successors (PR #143766)

via llvm-commits llvm-commits at lists.llvm.org
Wed Jun 11 12:02:41 PDT 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff HEAD~1 HEAD --extensions cpp -- llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp llvm/lib/Transforms/Utils/BasicBlockUtils.cpp llvm/lib/Transforms/Utils/Local.cpp llvm/lib/Transforms/Utils/SimplifyCFG.cpp
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
index f9fda9625..d9d83169d 100644
--- a/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
+++ b/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
@@ -290,7 +290,8 @@ bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU,
   // PHI nodes that references the Pred shall be replaced with a SelectInst
   for (BasicBlock *Succ : successors(PTI)) {
     for (PHINode &PhiSucc : Succ->phis()) {
-      if (llvm::is_contained(PhiSucc.blocks(), PredBB) && llvm::is_contained(PhiSucc.blocks(), BB)) {
+      if (llvm::is_contained(PhiSucc.blocks(), PredBB) &&
+          llvm::is_contained(PhiSucc.blocks(), BB)) {
         if (PredBB_BI->isConditional()) {
           Value *Cond = PredBB_BI->getCondition();
           Value *OrigPhi0 = PhiSucc.removeIncomingValue(PredBB, false);
@@ -299,9 +300,11 @@ bool llvm::MergeBlockIntoPredecessor(BasicBlock *BB, DomTreeUpdater *DTU,
           SelectInst *newPhi = nullptr;
           // Swap branch given the conditions
           if (PredBB_BI->getSuccessor(0) == Succ) {
-            newPhi = SelectInst::Create(Cond, OrigPhi0, OrigPhi1, "", PTI->getIterator());
+            newPhi = SelectInst::Create(Cond, OrigPhi0, OrigPhi1, "",
+                                        PTI->getIterator());
           } else {
-            newPhi = SelectInst::Create(Cond, OrigPhi1, OrigPhi0, "", PTI->getIterator());
+            newPhi = SelectInst::Create(Cond, OrigPhi1, OrigPhi0, "",
+                                        PTI->getIterator());
           }
 
           // Erase PhiNode if its empty

``````````

</details>


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


More information about the llvm-commits mailing list