[all-commits] [llvm/llvm-project] ca7eaa: [InstSimplify] allow undef element match in vector...

RotateRight via All-commits all-commits at lists.llvm.org
Tue May 25 11:27:38 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ca7eaa0a54938bfe9aeed7ebc64202f0b6f2ce0d
      https://github.com/llvm/llvm-project/commit/ca7eaa0a54938bfe9aeed7ebc64202f0b6f2ce0d
  Author: Sanjay Patel <spatel at rotateright.com>
  Date:   2021-05-25 (Tue, 25 May 2021)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstSimplify/select-inseltpoison.ll
    M llvm/test/Transforms/InstSimplify/select.ll

  Log Message:
  -----------
  [InstSimplify] allow undef element match in vector select condition value

The semantics of select with undefined/poison condition
are not explicitly stated in the LangRef, but this matches
comments in the code and Alive2 appears to concur:
https://alive2.llvm.org/ce/z/KXytmd

We can find this pattern after demanded elements transforms.

As noted in D101191, fuzzers are finding infinite loops because
we may not account for this pattern in other passes.




More information about the All-commits mailing list