[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