[all-commits] [llvm/llvm-project] 33e604: [MachineLICM] Handle Subloops

JinGu Kang via All-commits all-commits at lists.llvm.org
Wed Jul 12 08:33:16 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 33e60484d750291e99301e29e60fe72c8fa48ccd
      https://github.com/llvm/llvm-project/commit/33e60484d750291e99301e29e60fe72c8fa48ccd
  Author: Jingu Kang <jingu.kang at arm.com>
  Date:   2023-07-12 (Wed, 12 Jul 2023)

  Changed paths:
    M llvm/lib/CodeGen/MachineLICM.cpp
    M llvm/test/CodeGen/AArch64/machine-licm-sub-loop.ll
    M llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
    M llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    M llvm/test/CodeGen/WebAssembly/reg-stackify.ll
    M llvm/test/CodeGen/X86/licm-nested.ll

  Log Message:
  -----------
  [MachineLICM] Handle Subloops

MachineLICM pass handles inner loops only when outmost loop does not have unique
predecessor. If the loop has preheader and there is loop invariant code, the
invariant code can be hoisted to the preheader in general. This patch makes the
pass handle inner loops in general.

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




More information about the All-commits mailing list