[PATCH] D113939: [runtime-unroll] Remove restriction about unrolling multiple exit loops
Anna Thomas via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Nov 23 07:02:24 PST 2021
anna added a comment.
This change looks good to me and thank you for taking this through!
Philip, I think it is worth mentioning in the description for folks benchmarking this patch, that they can just work on ToT and compare baseline against `-unroll-runtime-multi-exit=true` (this is the option we are using for our benchmarking measurements).
================
Comment at: llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp:422
if (UnrollRuntimeMultiExit.getNumOccurrences())
return UnrollRuntimeMultiExit;
----------------
reames wrote:
> nikic wrote:
> > The UnrollRuntimeMultiExit and UnrollRuntimeOtherExitPredictable options are now dead.
> Er, yeah. I thought about removing them, but apparently didn't actually do so. Oops. :)
>
> Once we have some sanity check benchmark scores, I'll update to remove these in the patch.
Maybe we should keep the `UnrollRuntimeMultiExit` option for a week or so (after the change lands), to facilitate triaging of functional/performance regressions.
As mentioned in the description, the original case supported is very narrow - the single exit block other than the latchExit is a deopt block.
So `UnrollRuntimeMultiExit` specified through command line with 0 or 1, will turn ON or OFF the option without profitability considerations.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D113939/new/
https://reviews.llvm.org/D113939
More information about the llvm-commits
mailing list