[all-commits] [llvm/llvm-project] 59a2f6: [LoopRotate] Don't split loop pass manager

Nikita Popov via All-commits all-commits at lists.llvm.org
Thu Apr 8 13:05:47 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 59a2f67011ba84a0a72fc97af1ee2bebb2832c16
      https://github.com/llvm/llvm-project/commit/59a2f67011ba84a0a72fc97af1ee2bebb2832c16
  Author: Nikita Popov <nikita.ppv at gmail.com>
  Date:   2021-04-08 (Thu, 08 Apr 2021)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopRotation.cpp
    M llvm/test/CodeGen/AMDGPU/opt-pipeline.ll
    M llvm/test/Other/opt-O2-pipeline.ll
    M llvm/test/Other/opt-O3-pipeline-enable-matrix.ll
    M llvm/test/Other/opt-O3-pipeline.ll
    M llvm/test/Other/opt-Os-pipeline.ll
    M llvm/test/Other/pass-pipelines.ll

  Log Message:
  -----------
  [LoopRotate] Don't split loop pass manager

After D99249 we use three different loop pass managers for LICM,
LoopRotate and LICM+LoopUnswitch. This happens because LazyBFI
and LazyBPI are not preserved by LoopRotate (note that D74640
is no longer needed). Avoid this by marking them as preserved.

My understanding of D86156 is that it is okay to simply preserve
them (which LoopUnswitch already does for the same reason) and
rely on callbacks to deal with deleted blocks.

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




More information about the All-commits mailing list