[MachineLICM] Handle Subloops
authorJingu Kang <jingu.kang@arm.com>
Wed, 19 Jul 2023 11:07:18 +0000 (12:07 +0100)
committerJingu Kang <jingu.kang@arm.com>
Thu, 20 Jul 2023 15:39:13 +0000 (16:39 +0100)
commit50dd383d08670960540fecb4b48c0f0429fbfba3
tree74986baca3f6ba29528ae27239b37e6b3963cc85
parentcce5324994d6ef0c37c2619230154b0658eda398
[MachineLICM] Handle Subloops

Following discussion on https://reviews.llvm.org/D154205, make MachineLICM pass
handle subloops with only visiting outmost loop's blocks once.

Differential Revision: https://reviews.llvm.org/D154205
llvm/lib/CodeGen/MachineLICM.cpp
llvm/test/CodeGen/AArch64/machine-licm-sub-loop.ll
llvm/test/CodeGen/AMDGPU/agpr-copy-no-free-registers.ll
llvm/test/CodeGen/AMDGPU/optimize-negated-cond.ll
llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
llvm/test/CodeGen/WebAssembly/reg-stackify.ll