[PATCH] D118808: Loop Strength Reduce - Optimize unused IVs to final values in the exit block with SCEV
Whitney Tsang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 7 17:42:51 PST 2022
Whitney added a comment.
> IndVarSimply calls rewriteLoopExitValues from LoopUtils to do this optimization. I tried to call the same function in LoopStrengthReduce, however rewriteLoopExitValues asserts that it requires: L->isRecursivelyLCSSAForm(*DT, *LI).
When calling rewriteLoopExitValues from LoopStrengthReduce, this assert is not met.
I am confused, is the assert from rewriteLoopExitValues met or not when calling from LoopStrengthReduce? Does LoopStrengthReduce currently rely on LCSSA form? Is it only become not LCSSA after LoopStrengthReduce changes the code?
Can we first invoke formLCSSA to form LCSSA before calling rewriteLoopExitValues?
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D118808/new/
https://reviews.llvm.org/D118808
More information about the llvm-commits
mailing list