[llvm] 64af9f6 - [InstSimplify] add 'x + poison -> poison' (needed for NewGVN)

Roman Lebedev via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 30 04:02:04 PST 2021


Test?

On Thu, Dec 30, 2021 at 2:53 PM Nuno Lopes via llvm-commits
<llvm-commits at lists.llvm.org> wrote:
>
>
> 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;
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list