[all-commits] [llvm/llvm-project] 469702: [LICM] Sink unused l-invariant loads in preheader....
Vigneshwar Jayakumar via All-commits
all-commits at lists.llvm.org
Thu Oct 30 07:23:26 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 469702c5d5cc4fa18c3a962afb971950a084f373
https://github.com/llvm/llvm-project/commit/469702c5d5cc4fa18c3a962afb971950a084f373
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2025-10-30 (Thu, 30 Oct 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-trackers.ll
M llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot.ll
M llvm/test/CodeGen/PowerPC/combine-sext-and-shl-after-isel.ll
M llvm/test/Transforms/IndVarSimplify/AMDGPU/addrspace-7-doesnt-crash.ll
M llvm/test/Transforms/IndVarSimplify/ARM/code-size.ll
M llvm/test/Transforms/IndVarSimplify/ARM/indvar-unroll-imm-cost.ll
M llvm/test/Transforms/IndVarSimplify/X86/inner-loop-by-latch-cond.ll
M llvm/test/Transforms/IndVarSimplify/exit-count-select.ll
M llvm/test/Transforms/IndVarSimplify/finite-exit-comparisons.ll
M llvm/test/Transforms/IndVarSimplify/pr116483.ll
M llvm/test/Transforms/IndVarSimplify/pr24783.ll
M llvm/test/Transforms/IndVarSimplify/pr39673.ll
M llvm/test/Transforms/IndVarSimplify/pr63763.ll
M llvm/test/Transforms/IndVarSimplify/replace-loop-exit-folds.ll
M llvm/test/Transforms/IndVarSimplify/rewrite-loop-exit-values-phi.ll
M llvm/test/Transforms/IndVarSimplify/scev-expander-preserve-lcssa.ll
M llvm/test/Transforms/IndVarSimplify/scev-invalidation.ll
M llvm/test/Transforms/IndVarSimplify/sentinel.ll
R llvm/test/Transforms/IndVarSimplify/sink-alloca.ll
R llvm/test/Transforms/IndVarSimplify/sink-from-preheader.ll
R llvm/test/Transforms/IndVarSimplify/sink-trapping.ll
M llvm/test/Transforms/IndVarSimplify/zext-nuw.ll
M llvm/test/Transforms/LICM/scalar-promote.ll
A llvm/test/Transforms/LICM/sink-alloca.ll
A llvm/test/Transforms/LICM/sink-from-preheader.ll
A llvm/test/Transforms/LICM/sink-trapping.ll
M llvm/test/Transforms/LoopDeletion/invalidate-scev-after-hoisting.ll
M llvm/test/Transforms/LoopDistribute/laa-invalidation.ll
M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/interleave_vec.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
M llvm/test/Transforms/PhaseOrdering/ARM/arm_mult_q15.ll
M llvm/test/Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
M llvm/test/Transforms/PhaseOrdering/X86/vdiv.ll
Log Message:
-----------
[LICM] Sink unused l-invariant loads in preheader. (#157559)
Unused loop invariant loads were not sunk from the preheader to the exit
block, increasing live range.
This commit moves the sinkUnusedInvariant logic from indvarsimplify to
LICM also adds functionality to sink unused load that's not
clobbered by the loop body.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list