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

topperc via All-commits all-commits at lists.llvm.org
Thu Jul 16 07:58:09 PDT 2020


  Branch: refs/heads/release/11.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 529f2e03592c072bb0f768db5b5e3731cccbebf3
      https://github.com/llvm/llvm-project/commit/529f2e03592c072bb0f768db5b5e3731cccbebf3
  Author: Craig Topper <craig.topper at intel.com>
  Date:   2020-07-16 (Thu, 16 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

(cherry picked from commit 00f3579aea6e3d4a4b7464c3db47294f71cef9e4)




More information about the All-commits mailing list