[InstCombine] Update InstCombine to use poison instead of undef for shufflevector...
authorhyeongyu kim <gusrb406@snu.ac.kr>
Wed, 22 Sep 2021 14:30:33 +0000 (23:30 +0900)
committerhyeongyu kim <gusrb406@snu.ac.kr>
Wed, 22 Sep 2021 15:14:50 +0000 (00:14 +0900)
commitec8311444abec8ad68a9fd08e509ae2178b43ca3
treeda0d73627042d2eb03d28a5351c72deb48ac3048
parentb034593c8719e42a56cf4e6cb2ffb762783b0d7f
[InstCombine] Update InstCombine to use poison instead of undef for shufflevector's placeholder (2/3)

This patch is for fixing potential shufflevector-related bugs like D93818.
As D93818, this patch change shufflevector's default placeholder to poison.
To reduce risk, it was divided into several patches, and this patch is for InstCombineCompares and InstructionCombining.

Reviewed By: spatel

Differential Revision: https://reviews.llvm.org/D110227
21 files changed:
llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
llvm/test/Transforms/InstCombine/broadcast-inseltpoison.ll
llvm/test/Transforms/InstCombine/broadcast.ll
llvm/test/Transforms/InstCombine/gep-inbounds-null.ll
llvm/test/Transforms/InstCombine/getelementptr.ll
llvm/test/Transforms/InstCombine/icmp-vec-inseltpoison.ll
llvm/test/Transforms/InstCombine/icmp-vec.ll
llvm/test/Transforms/InstCombine/shufflevector-div-rem-inseltpoison.ll
llvm/test/Transforms/InstCombine/shufflevector-div-rem.ll
llvm/test/Transforms/InstCombine/vec-binop-select-inseltpoison.ll
llvm/test/Transforms/InstCombine/vec-binop-select.ll
llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
llvm/test/Transforms/InstCombine/vec_shuffle.ll
llvm/test/Transforms/InstCombine/vscale_cmp.ll
llvm/test/Transforms/PhaseOrdering/X86/shuffle-inseltpoison.ll
llvm/test/Transforms/PhaseOrdering/X86/shuffle.ll
llvm/test/Transforms/SLPVectorizer/AArch64/transpose-inseltpoison.ll
llvm/test/Transforms/SLPVectorizer/AArch64/transpose.ll
llvm/test/Transforms/SLPVectorizer/X86/alternate-int-inseltpoison.ll
llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll