[all-commits] [llvm/llvm-project] 9b1e95: [InstSimplify] Remove select ?, undef, X -> X and ...

topperc via All-commits all-commits at lists.llvm.org
Wed Jul 8 12:54:06 PDT 2020


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

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

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

As noted here https://lists.llvm.org/pipermail/llvm-dev/2016-October/106182.html and by alive2, this transform isn't valid. If X is poison this potentially propagates poison when it shouldn't.

This same transform still exists in DAGCombiner.

Differential Revision: https://reviews.llvm.org/D83360




More information about the All-commits mailing list