[PATCH] D84108: [SimplifyCFG][LoopRotate] SimplifyCFG: disable common instruction hoisting by default, enable late in pipeline

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sun Jul 19 02:51:42 PDT 2020


lebedev.ri added a comment.

In D84108#2160869 <https://reviews.llvm.org/D84108#2160869>, @lebedev.ri wrote:

> In D84108#2160496 <https://reviews.llvm.org/D84108#2160496>, @lebedev.ri wrote:
>
> > In D84108#2160494 <https://reviews.llvm.org/D84108#2160494>, @nikic wrote:
> >
> > > > this does regress compile-time by +0.5% geomean (unsurprizingly)
> > >
> > > FWIW, a large part of the regressions seems to come down to a single file that regresses big time:
> > >
> > > > CMakeFiles/lencod.dir/context_ini.c.o 	3917M 	7067M (+80.41%)
> > >
> > > Probably worth taking a look whether that can be mitigated.
> >
> >
> > Thanks, i will take a look, just really wanted to finally post this after two dry-runs due to the rG0fdcca07ad2c0bdc2cdd40ba638109926f4f513b <https://reviews.llvm.org/rG0fdcca07ad2c0bdc2cdd40ba638109926f4f513b>/rG8d487668d09fb0e4e54f36207f07c1480ffabbfd <https://reviews.llvm.org/rG8d487668d09fb0e4e54f36207f07c1480ffabbfd> :)
>
>
> I presently don't know what is actually going on, but [old] GVN is to blame there, it goes from


It appears that `IsValueFullyAvailableInBlock()` is at fault here, which is only called from `PerformLoadPRE()`, which is only called from `processNonLocalLoad()`.
Not yet sure what specifically is going wrong yet.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D84108/new/

https://reviews.llvm.org/D84108





More information about the llvm-commits mailing list