[all-commits] [llvm/llvm-project] 8fdd7c: [LoopUnroll] Clamp unroll count to MaxTripCount

Nikita Popov via All-commits all-commits at lists.llvm.org
Mon Jun 7 12:20:30 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 8fdd7c2ff16da370e28ef1b22e400d57a541484f
      https://github.com/llvm/llvm-project/commit/8fdd7c2ff16da370e28ef1b22e400d57a541484f
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-06-07 (Mon, 07 Jun 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUnroll.cpp
    M llvm/test/Transforms/LoopUnroll/multiple-exits.ll
    M llvm/test/Transforms/LoopUnroll/nonlatchcondbr.ll
    M llvm/test/Transforms/LoopUnroll/runtime-loop5.ll
    M llvm/test/Transforms/LoopUnroll/runtime-small-upperbound.ll

  Log Message:
  -----------
  [LoopUnroll] Clamp unroll count to MaxTripCount

Unrolling with more iterations than MaxTripCount is pointless, as
those iterations can never be executed. As such, we clamp ULO.Count
to MaxTripCount if it is known. This means we no longer need to
consider iterations after MaxTripCount for exit folding, and the
CompletelyUnroll flag becomes independent of ULO.TripCount.

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




More information about the All-commits mailing list