[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