[all-commits] [llvm/llvm-project] 497966: Reland [InstSimplify] Remove the remainder loop if...

Allen via All-commits all-commits at lists.llvm.org
Tue Aug 1 07:23:20 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 497966f7f2bbc33f79725c4aba12e4089419e3b6
      https://github.com/llvm/llvm-project/commit/497966f7f2bbc33f79725c4aba12e4089419e3b6
  Author: Zhongyunde <zhongyunde at huawei.com>
  Date:   2023-08-01 (Tue, 01 Aug 2023)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstCombine/rem-mul-shl.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll

  Log Message:
  -----------
  Reland [InstSimplify] Remove the remainder loop if we know the mask is always true

We check the loop trip count is known a power of 2 to determine
whether the tail loop can be eliminated in D146199.
However, the remainder loop of mask scalable loop can also be removed
If we know the mask is always going to be true for every vector iteration.
Depend on the assume of power-of-two vscale on D155350

proofs: https://alive2.llvm.org/ce/z/bT62Wa

Fix https://github.com/llvm/llvm-project/issues/63616.

Reviewed By: goldstein.w.n, nikic, david-arm, paulwalker-arm
Differential Revision: https://reviews.llvm.org/D154953




More information about the All-commits mailing list