[PATCH] D85765: [InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 11 11:29:57 PDT 2020


craig.topper created this revision.
craig.topper added reviewers: aqjune, nikic, spatel.
Herald added subscribers: kerbowa, dmgreen, hiraditya, nhaehnle, jvesely.
Herald added a project: LLVM.
craig.topper requested review of this revision.

This recommits the following patches now that D85684 <https://reviews.llvm.org/D85684> has landed

  1cf6f210a2e [IR] Disable select ? C : undef -> C fold in ConstantFoldSelectInstruction unless we know C isn't poison.
  469da663f2d [InstSimplify] Re-enable select ?, undef, X -> X transform when X is provably not poison
  122b0640fc9 [InstSimplify] Don't fold vectors of partial undef in SimplifySelectInst if the non-undef element value might produce poison
  ac0af12ed2f [InstSimplify] Add test cases for opportunities to fold select ?, X, undef -> X when we can prove X isn't poison
  9b1e95329af [InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms


https://reviews.llvm.org/D85765

Files:
  clang/test/CodeGen/arm-mve-intrinsics/dup.c
  llvm/lib/Analysis/InstructionSimplify.cpp
  llvm/lib/IR/ConstantFold.cpp
  llvm/test/Transforms/InferAddressSpaces/AMDGPU/select.ll
  llvm/test/Transforms/InstCombine/select.ll
  llvm/test/Transforms/InstSimplify/select.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D85765.284829.patch
Type: text/x-patch
Size: 16798 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200811/c6fa477d/attachment.bin>


More information about the llvm-commits mailing list