[llvm] 64af9f6 - [InstSimplify] add 'x + poison -> poison' (needed for NewGVN)
Nuno Lopes via llvm-commits
llvm-commits at lists.llvm.org
Thu Dec 30 03:53:33 PST 2021
Author: Nuno Lopes
Date: 2021-12-30T11:52:42Z
New Revision: 64af9f61c30191482979c6883e4cc63703f12010
URL: https://github.com/llvm/llvm-project/commit/64af9f61c30191482979c6883e4cc63703f12010
DIFF: https://github.com/llvm/llvm-project/commit/64af9f61c30191482979c6883e4cc63703f12010.diff
LOG: [InstSimplify] add 'x + poison -> poison' (needed for NewGVN)
Added:
Modified:
llvm/lib/Analysis/InstructionSimplify.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Analysis/InstructionSimplify.cpp b/llvm/lib/Analysis/InstructionSimplify.cpp
index 1c26ab3619089..4a8dc754349bd 100644
--- a/llvm/lib/Analysis/InstructionSimplify.cpp
+++ b/llvm/lib/Analysis/InstructionSimplify.cpp
@@ -620,6 +620,10 @@ static Value *SimplifyAddInst(Value *Op0, Value *Op1, bool IsNSW, bool IsNUW,
if (Constant *C = foldOrCommuteConstant(Instruction::Add, Op0, Op1, Q))
return C;
+ // X + poison -> poison
+ if (isa<PoisonValue>(Op1))
+ return Op1;
+
// X + undef -> undef
if (Q.isUndefValue(Op1))
return Op1;
More information about the llvm-commits
mailing list