[all-commits] [llvm/llvm-project] f46a9c: [InstCombine] don't automatically drop poison-gene...
RotateRight via All-commits
all-commits at lists.llvm.org
Mon Dec 13 07:12:32 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f46a9c8edd4421e875927d6808fea04090e28d37
https://github.com/llvm/llvm-project/commit/f46a9c8edd4421e875927d6808fea04090e28d37
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2021-12-13 (Mon, 13 Dec 2021)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
M llvm/test/Transforms/InstCombine/X86/x86-muldq-inseltpoison.ll
M llvm/test/Transforms/InstCombine/X86/x86-muldq.ll
M llvm/test/Transforms/InstCombine/shuffle_select-inseltpoison.ll
M llvm/test/Transforms/InstCombine/shuffle_select.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts-inseltpoison.ll
M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
Log Message:
-----------
[InstCombine] don't automatically drop poison-generating flags in SimplifyVectorDemandedElts
I noticed this while reviewing the test diffs in D115460
(and so the diffs in that patch will be reduced if this one is applied first).
This is effectively a revert of 3436dc29239d ( https://reviews.llvm.org/rG3436dc29239d ) -
since that commit, we've made several enhancements, so the reasoning there is no longer
valid. Specifically, we added a poison value to IR, and we clarified the behavior of
undef/poison elements in a shuffle mask:
https://llvm.org/docs/LangRef.html#shufflevector-instruction
Alive2 seems to agree that the propagation of flags in the test diffs shown here are valid:
https://alive2.llvm.org/ce/z/UuY-jr
https://alive2.llvm.org/ce/z/GXoMD9
https://alive2.llvm.org/ce/z/nVCyVH
Differential Revision: https://reviews.llvm.org/D115526
More information about the All-commits
mailing list