[PATCH] D102511: Do actual DCE in LoopUnroll
Roman Lebedev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 18 03:39:58 PDT 2021
lebedev.ri added inline comments.
================
Comment at: llvm/lib/Transforms/Utils/LoopUnroll.cpp:212
SmallVector<WeakTrackingVH, 16> DeadInsts;
simplifyLoopIVs(L, SE, DT, LI, TTI, DeadInsts);
----------------
reames wrote:
> lebedev.ri wrote:
> > Bikeshedding question: *why* do we do this here?
> > I'm looking at a test case where we spend most of the time (60%+, minutes) in LoopUnroll,
> > apparently in `simplifyLoopIVs()` specifically.
> >
> >
> Presumably there are some tests that fail or some git history which can give a clue. Not sure off the top of my head.
>
> If you see 60% of time, that's probably a SCEV bug as a guess. :)
Hmm, i was hoping this was simply resulting in bad SCEV forget-compute cache hammering,
but even if i completely drop this function, and run a standalone IndVars pass afterwards,
it also exhibits the same perf problem.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102511/new/
https://reviews.llvm.org/D102511
More information about the llvm-commits
mailing list