[all-commits] [llvm/llvm-project] 00f357: Revert "[InstSimplify] Remove select ?, undef, X -...

topperc via All-commits all-commits at lists.llvm.org
Wed Jul 15 22:05:58 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 00f3579aea6e3d4a4b7464c3db47294f71cef9e4
      https://github.com/llvm/llvm-project/commit/00f3579aea6e3d4a4b7464c3db47294f71cef9e4
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-07-15 (Wed, 15 Jul 2020)

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

  Log Message:
  -----------
  Revert "[InstSimplify] Remove select ?, undef, X -> X and select ?, X, undef -> X transforms" and subsequent patches

This reverts most of the following patches due to reports of miscompiles.
I've left the added test cases with comments updated to be FIXMEs.

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




More information about the All-commits mailing list