[all-commits] [llvm/llvm-project] 94d091: [runtimeunroll] Support multiple exits to latch ex...

Philip Reames via All-commits all-commits at lists.llvm.org
Tue Aug 17 17:52:16 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 94d091429253e46e4cdd31a30e4d1b25b2879d6a
      https://github.com/llvm/llvm-project/commit/94d091429253e46e4cdd31a30e4d1b25b2879d6a
  Author: Philip Reames <listmail at philipreames.com>
  Date:   2021-08-17 (Tue, 17 Aug 2021)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/test/Transforms/LoopUnroll/runtime-loop-multiple-exits.ll

  Log Message:
  -----------
  [runtimeunroll] Support multiple exits to latch exit w/epilogue loop

This patch extends the runtime unrolling infrastructure to support unrolling a loop with multiple exiting blocks branching to the same exit block used by the latch. It intentionally does not include a cost model change to enable this functionality unless appropriate force flags are used.

I decided to restrict this to the epilogue case. Given the changes ended up being pretty generic, we may be able to unblock the prolog case too, but I want to do that in a separate change to reduce the amount of code we all have to understand at one time.

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




More information about the All-commits mailing list