[all-commits] [llvm/llvm-project] d01aec: [InstCombine] Set dead phi inputs to poison in mor...

Nikita Popov via All-commits all-commits at lists.llvm.org
Tue Aug 1 02:54:12 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: d01aec4c769d50fb92e86decd41d077c94105841
      https://github.com/llvm/llvm-project/commit/d01aec4c769d50fb92e86decd41d077c94105841
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-08-01 (Tue, 01 Aug 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Analysis/ValueTracking/assume-queries-counter.ll
    M llvm/test/Analysis/ValueTracking/assume.ll
    M llvm/test/Transforms/InstCombine/div-i1.ll
    M llvm/test/Transforms/InstCombine/phi.ll
    M llvm/test/Transforms/InstCombine/pr38677.ll
    M llvm/test/Transforms/InstCombine/unreachable-code.ll
    M llvm/test/Transforms/LoopSimplify/ashr-crash.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/ARM/mve-reduction-predselect.ll
    M llvm/test/Transforms/LoopVectorize/ARM/pointer_iv.ll
    M llvm/test/Transforms/LoopVectorize/X86/pr42674.ll
    M llvm/test/Transforms/LoopVectorize/forked-pointers.ll
    M llvm/test/Transforms/LoopVectorize/induction.ll
    M llvm/test/Transforms/LoopVectorize/interleaved-accesses.ll
    M llvm/test/Transforms/PGOProfile/chr.ll
    M llvm/test/Transforms/PhaseOrdering/ARM/arm_mean_q7.ll

  Log Message:
  -----------
  [InstCombine] Set dead phi inputs to poison in more cases

Set phi inputs to poison whenever we find a dead edge (either
during initial worklist population or the main InstCombine run),
instead of only doing this for successors of dead blocks.

This means that the phi operand is set to poison even if for
critical edges without an intermediate block.

There are quite a few test changes, because the pattern is fairly
common in vectorizer output, for cases where we know the vectorized
loop will be entered.




More information about the All-commits mailing list