[all-commits] [llvm/llvm-project] 81c648: [LoopUnroll] Freeze tripcount rather than condition

Nikita Popov via All-commits all-commits at lists.llvm.org
Tue May 24 00:42:56 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 81c648a3d909cf0c1c1c635309f35b93d07307d1
      https://github.com/llvm/llvm-project/commit/81c648a3d909cf0c1c1c635309f35b93d07307d1
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2022-05-24 (Tue, 24 May 2022)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/test/Transforms/LoopUnroll/runtime-loop-at-most-two-exits.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiexit-dom-verify.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll
    M llvm/test/Transforms/LoopUnroll/runtime-multiexit-heuristic.ll

  Log Message:
  -----------
  [LoopUnroll] Freeze tripcount rather than condition

This is a followup to D125754. We introduce two branches, one
before the unrolled loop and one before the epilogue (and similar
for the prologue case). The previous patch only froze the
condition on the first branch.

Rather than independently freezing the second condition, this patch
instead freezes TripCount and bases BECount on it. These are the
two quantities involved in the conditions, and this ensures that
both work on a consistent, non-poisonous trip count.

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




More information about the All-commits mailing list