[all-commits] [llvm/llvm-project] b1b475: [LSR] Hoist IVInc to loop header if its all uses a...
chenglin.bi via All-commits
all-commits at lists.llvm.org
Tue Jan 10 02:34:15 PST 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: b1b4758e7f4b2ffe1faa28b00eb037832e5d26a7
https://github.com/llvm/llvm-project/commit/b1b4758e7f4b2ffe1faa28b00eb037832e5d26a7
Author: chenglin.bi <chenglin.bi at linaro.org>
Date: 2023-01-10 (Tue, 10 Jan 2023)
Changed paths:
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/test/Transforms/LoopStrengthReduce/AArch64/pr53625.ll
Log Message:
-----------
[LSR] Hoist IVInc to loop header if its all uses are in the loop header
When the latch block is different from header block, IVInc will be expanded in the latch loop. We can't generate the post index load/store this case.
But if the IVInc only used in the loop, actually we still can use the post index load/store because when exit loop we don't care the last IVInc value.
So, trying to hoist IVInc to help backend to generate more post index load/store.
Fix #53625
Reviewed By: eopXD
Differential Revision: https://reviews.llvm.org/D138636
More information about the All-commits
mailing list