[llvm] add_EliminateNewDuplicatePHINodes (PR #135179)

via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 10 06:49:05 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 h,cpp -- llvm/include/llvm/Transforms/Utils/Local.h llvm/lib/Transforms/Utils/Local.cpp llvm/unittests/Transforms/Utils/LocalTest.cpp
``````````

</details>

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

``````````diff
diff --git a/llvm/lib/Transforms/Utils/Local.cpp b/llvm/lib/Transforms/Utils/Local.cpp
index 271d6a4c3..5ec68c381 100644
--- a/llvm/lib/Transforms/Utils/Local.cpp
+++ b/llvm/lib/Transforms/Utils/Local.cpp
@@ -1613,7 +1613,7 @@ bool EliminateNewDuplicatePHINodesSet(BasicBlock *BB,
 
 bool llvm::EliminateNewDuplicatePHINodes(
     BasicBlock *BB, BasicBlock::phi_iterator FirstExistedPN) {
-  
+
   if (hasNItemsOrLess(BB->phis(), 1))
     return false;
 
diff --git a/llvm/unittests/Transforms/Utils/LocalTest.cpp b/llvm/unittests/Transforms/Utils/LocalTest.cpp
index f7b658b17..97f0234ea 100644
--- a/llvm/unittests/Transforms/Utils/LocalTest.cpp
+++ b/llvm/unittests/Transforms/Utils/LocalTest.cpp
@@ -1459,20 +1459,21 @@ TEST(Local, EliminateNewDuplicatePHINodes_OrderExisting) {
           %u = add i32 %np0, %np1
           ret void
       }
-  )", [](BasicBlock &BB, auto *ENDPN) {
-    AssertingVH<PHINode> EP0 = getPhi(BB, 2);
-    AssertingVH<PHINode> EP1 = getPhi(BB, 3);
-    EXPECT_TRUE(ENDPN(&BB, getPhiIt(BB, 2)));
-    // Expected:
-    //   %ep0 = phi i32 [ 1, %entry ]
-    //   %ep1 = phi i32 [ 1, %entry ]
-    //   %u = add i32 %ep0, %ep0
-    EXPECT_EQ(getNumPHIs(BB), 2);
-    Instruction &Add = *BB.getFirstNonPHIIt();
-    EXPECT_EQ(Add.getOperand(0), EP0);
-    EXPECT_EQ(Add.getOperand(1), EP0);
-    (void)EP1; // Avoid "unused" warning.
-  });
+  )",
+                                  [](BasicBlock &BB, auto *ENDPN) {
+                                    AssertingVH<PHINode> EP0 = getPhi(BB, 2);
+                                    AssertingVH<PHINode> EP1 = getPhi(BB, 3);
+                                    EXPECT_TRUE(ENDPN(&BB, getPhiIt(BB, 2)));
+                                    // Expected:
+                                    //   %ep0 = phi i32 [ 1, %entry ]
+                                    //   %ep1 = phi i32 [ 1, %entry ]
+                                    //   %u = add i32 %ep0, %ep0
+                                    EXPECT_EQ(getNumPHIs(BB), 2);
+                                    Instruction &Add = *BB.getFirstNonPHIIt();
+                                    EXPECT_EQ(Add.getOperand(0), EP0);
+                                    EXPECT_EQ(Add.getOperand(1), EP0);
+                                    (void)EP1; // Avoid "unused" warning.
+                                  });
 }
 
 TEST(Local, EliminateNewDuplicatePHINodes_OrderNew) {
@@ -1488,23 +1489,24 @@ TEST(Local, EliminateNewDuplicatePHINodes_OrderNew) {
           %u = add i32 %np0, %np1
           ret void
       }
-  )", [](BasicBlock &BB, auto *ENDPN) {
-    AssertingVH<PHINode> NP0 = getPhi(BB, 0);
-    AssertingVH<PHINode> EP0 = getPhi(BB, 2);
-    AssertingVH<PHINode> EP1 = getPhi(BB, 3);
-    EXPECT_TRUE(ENDPN(&BB, getPhiIt(BB, 2)));
-    // Expected:
-    //   %np0 = phi i32 [ 1, %entry ]
-    //   %ep0 = phi i32 [ 2, %entry ]
-    //   %ep1 = phi i32 [ 2, %entry ]
-    //   %u = add i32 %np0, %np0
-    EXPECT_EQ(getNumPHIs(BB), 3);
-    Instruction &Add = *BB.getFirstNonPHIIt();
-    EXPECT_EQ(Add.getOperand(0), NP0);
-    EXPECT_EQ(Add.getOperand(1), NP0);
-    (void)EP0;
-    (void)EP1; // Avoid "unused" warning.
-  });
+  )",
+                                  [](BasicBlock &BB, auto *ENDPN) {
+                                    AssertingVH<PHINode> NP0 = getPhi(BB, 0);
+                                    AssertingVH<PHINode> EP0 = getPhi(BB, 2);
+                                    AssertingVH<PHINode> EP1 = getPhi(BB, 3);
+                                    EXPECT_TRUE(ENDPN(&BB, getPhiIt(BB, 2)));
+                                    // Expected:
+                                    //   %np0 = phi i32 [ 1, %entry ]
+                                    //   %ep0 = phi i32 [ 2, %entry ]
+                                    //   %ep1 = phi i32 [ 2, %entry ]
+                                    //   %u = add i32 %np0, %np0
+                                    EXPECT_EQ(getNumPHIs(BB), 3);
+                                    Instruction &Add = *BB.getFirstNonPHIIt();
+                                    EXPECT_EQ(Add.getOperand(0), NP0);
+                                    EXPECT_EQ(Add.getOperand(1), NP0);
+                                    (void)EP0;
+                                    (void)EP1; // Avoid "unused" warning.
+                                  });
 }
 
 TEST(Local, EliminateNewDuplicatePHINodes_NewRefExisting) {
@@ -1520,19 +1522,21 @@ TEST(Local, EliminateNewDuplicatePHINodes_NewRefExisting) {
           %u = add i32 %np0, %np1
           br label %testbb
       }
-  )", [](BasicBlock &BB, auto *ENDPN) {
-    AssertingVH<PHINode> EP0 = getPhi(BB, 2);
-    AssertingVH<PHINode> EP1 = getPhi(BB, 3);
-    EXPECT_TRUE(ENDPN(&BB, getPhiIt(BB, 2)));
-    // Expected:
-    //   %ep0 = phi i32 [ 1, %entry ], [ %ep0, %testbb ]
-    //   %ep1 = phi i32 [ 1, %entry ], [ %ep1, %testbb ]
-    //   %u = add i32 %ep0, %ep1
-    EXPECT_EQ(getNumPHIs(BB), 2);
-    Instruction &Add = *BB.getFirstNonPHIIt();
-    EXPECT_EQ(Add.getOperand(0), EP0);
-    EXPECT_EQ(Add.getOperand(1), EP1);
-  });
+  )",
+                                  [](BasicBlock &BB, auto *ENDPN) {
+                                    AssertingVH<PHINode> EP0 = getPhi(BB, 2);
+                                    AssertingVH<PHINode> EP1 = getPhi(BB, 3);
+                                    EXPECT_TRUE(ENDPN(&BB, getPhiIt(BB, 2)));
+                                    // Expected:
+                                    //   %ep0 = phi i32 [ 1, %entry ], [ %ep0,
+                                    //   %testbb ] %ep1 = phi i32 [ 1, %entry ],
+                                    //   [ %ep1, %testbb ] %u = add i32 %ep0,
+                                    //   %ep1
+                                    EXPECT_EQ(getNumPHIs(BB), 2);
+                                    Instruction &Add = *BB.getFirstNonPHIIt();
+                                    EXPECT_EQ(Add.getOperand(0), EP0);
+                                    EXPECT_EQ(Add.getOperand(1), EP1);
+                                  });
 }
 
 TEST(Local, EliminateNewDuplicatePHINodes_ExistingRefNew) {
@@ -1548,17 +1552,19 @@ TEST(Local, EliminateNewDuplicatePHINodes_ExistingRefNew) {
           %u = add i32 %np0, %np1
           br label %testbb
       }
-  )", [](BasicBlock &BB, auto *ENDPN) {
-    AssertingVH<PHINode> EP0 = getPhi(BB, 2);
-    AssertingVH<PHINode> EP1 = getPhi(BB, 3);
-    EXPECT_TRUE(ENDPN(&BB, getPhiIt(BB, 2)));
-    // Expected:
-    //   %ep0 = phi i32 [ 1, %entry ], [ %ep0, %testbb ]
-    //   %ep1 = phi i32 [ 1, %entry ], [ %ep1, %testbb ]
-    //   %u = add i32 %ep0, %ep1
-    EXPECT_EQ(getNumPHIs(BB), 2);
-    Instruction &Add = *BB.getFirstNonPHIIt();
-    EXPECT_EQ(Add.getOperand(0), EP0);
-    EXPECT_EQ(Add.getOperand(1), EP1);
-  });
+  )",
+                                  [](BasicBlock &BB, auto *ENDPN) {
+                                    AssertingVH<PHINode> EP0 = getPhi(BB, 2);
+                                    AssertingVH<PHINode> EP1 = getPhi(BB, 3);
+                                    EXPECT_TRUE(ENDPN(&BB, getPhiIt(BB, 2)));
+                                    // Expected:
+                                    //   %ep0 = phi i32 [ 1, %entry ], [ %ep0,
+                                    //   %testbb ] %ep1 = phi i32 [ 1, %entry ],
+                                    //   [ %ep1, %testbb ] %u = add i32 %ep0,
+                                    //   %ep1
+                                    EXPECT_EQ(getNumPHIs(BB), 2);
+                                    Instruction &Add = *BB.getFirstNonPHIIt();
+                                    EXPECT_EQ(Add.getOperand(0), EP0);
+                                    EXPECT_EQ(Add.getOperand(1), EP1);
+                                  });
 }
\ No newline at end of file

``````````

</details>


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


More information about the llvm-commits mailing list