This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/77568] [7 regression] CSE/PRE/Hoisting blocks common instruction contractions


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77568

--- Comment #5 from Wilco <wdijkstr at arm dot com> ---
(In reply to Andrew Pinski from comment #2)
> Note there are two different issues here.

Well they are 3 examples of the same underlying issue - don't do a CSE when
it's not profitable. How they are resolved might be different of course.

> One for the FMA issue which can/should be solved at the tree level (and that
> is a regression).
> 
> The other is the CSE, we should be able to uncse (rematization) during
> register allocation to reduce register pressure; I think this has been filed
> already.

A more general rematerialization pass would certainly be very useful for lots
of cases. However it wouldn't improve any of my examples as they are not about
spilling (when you run out of registers it is more efficient to do more work to
recompute values rather than spill and reload them).

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]