https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80155
--- Comment #31 from rguenther at suse dot de <rguenther at suse dot de> --- On Wed, 4 Oct 2017, prathamesh3492 at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80155 > > prathamesh3492 at gcc dot gnu.org changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |prathamesh3492 at gcc dot > gnu.org > > --- Comment #30 from prathamesh3492 at gcc dot gnu.org --- > Hi Richard, > I tried your patch in comment #9 with the fix in comment #13 but since > tree-ssa-pre.c appears to be refactored, the fix doesn't apply anymore and ICE > resurfaces. Could you guide me what fix I should apply to reproduce the > regression ? IIUC the issue here is that code-hoisting is increasing register > pressure thus causing the extra spill ? And GIMPLE does not seem to have cost > model for register allocation. > > Are you planning to take a look at this PR soon ? If not I would like to give > a > try and would be grateful for suggestions on how to approach this bug. > Thanks! Neither am I planning to look at this soon nor do I have a good idea how to approach this bug. My ideas were to compute register pressure & update it during elimination and thus avoid adding uses that increase pressure over some point. While that might mitigate the issue it isn't in any way applying a cost model to individual inserts. [nor is computing/updating register pressure easy]