Revert "[IR] `IRBuilderBase::CreateAdd()`: short-circuit `x + 0` --> `x`"
Clang OpenMP codegen tests are failing.
This reverts commit 288f1f8abe5835180a0021f142043ee261ab3846.
This reverts commit cb90e5356ac1594e95fed8e208d6e0e9b6a87db1.
diff --git a/llvm/unittests/IR/PatternMatch.cpp b/llvm/unittests/IR/PatternMatch.cpp
index 7023e5a..598dcdf 100644
--- a/llvm/unittests/IR/PatternMatch.cpp
+++ b/llvm/unittests/IR/PatternMatch.cpp
@@ -479,19 +479,19 @@
}
TEST_F(PatternMatchTest, Unless) {
- Value *X = IRB.CreateAdd(IRB.getInt32(1), IRB.getInt32(-1));
+ Value *X = IRB.CreateAdd(IRB.getInt32(1), IRB.getInt32(0));
- EXPECT_TRUE(m_Add(m_One(), m_AllOnes()).match(X));
- EXPECT_FALSE(m_Add(m_AllOnes(), m_One()).match(X));
+ EXPECT_TRUE(m_Add(m_One(), m_Zero()).match(X));
+ EXPECT_FALSE(m_Add(m_Zero(), m_One()).match(X));
- EXPECT_FALSE(m_Unless(m_Add(m_One(), m_AllOnes())).match(X));
- EXPECT_TRUE(m_Unless(m_Add(m_AllOnes(), m_One())).match(X));
+ EXPECT_FALSE(m_Unless(m_Add(m_One(), m_Zero())).match(X));
+ EXPECT_TRUE(m_Unless(m_Add(m_Zero(), m_One())).match(X));
- EXPECT_TRUE(m_c_Add(m_One(), m_AllOnes()).match(X));
- EXPECT_TRUE(m_c_Add(m_AllOnes(), m_One()).match(X));
+ EXPECT_TRUE(m_c_Add(m_One(), m_Zero()).match(X));
+ EXPECT_TRUE(m_c_Add(m_Zero(), m_One()).match(X));
- EXPECT_FALSE(m_Unless(m_c_Add(m_One(), m_AllOnes())).match(X));
- EXPECT_FALSE(m_Unless(m_c_Add(m_AllOnes(), m_One())).match(X));
+ EXPECT_FALSE(m_Unless(m_c_Add(m_One(), m_Zero())).match(X));
+ EXPECT_FALSE(m_Unless(m_c_Add(m_Zero(), m_One())).match(X));
}
TEST_F(PatternMatchTest, ZExtSExtSelf) {