This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/38134] [4.6/4.7/4.8 Regression] speed regression with many loop invariants
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 15 Jan 2013 15:20:01 +0000
- Subject: [Bug target/38134] [4.6/4.7/4.8 Regression] speed regression with many loop invariants
- Auto-submitted: auto-generated
- References: <bug-38134-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38134
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org
|gnu.org |
--- Comment #19 from Richard Biener <rguenth at gcc dot gnu.org> 2013-01-15 15:20:01 UTC ---
It might be worth (in general) to "CSE" constants before RTL expansion again
and rely on IRA/LRA re-materializing them if there isn't an available register
(and/or there is just a single use). Not sure if it would survive
combine / fwprop / ccp of course. Certainly doable from within PRE/FRE
which should be able to compute good places for putting a shared constant
into a register (SSA name). At least for "expensive" constants that might
be a good idea anyway (what is considered expensive the target can decide).
Let me take this for a while to experiment with the above.