This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/32921] [4.3/4.4 Regression] Revision 126326 causes 12% slowdown
- From: "rguenth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 2 May 2008 12:17:06 -0000
- Subject: [Bug tree-optimization/32921] [4.3/4.4 Regression] Revision 126326 causes 12% slowdown
- References: <bug-32921-682@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #49 from rguenth at gcc dot gnu dot org 2008-05-02 12:16 -------
Missing jump-threading causes quite a number of missed FRE opportunities, we
have
if (i2 >= 0)
{
... = load X
}
if (i2 >= 0)
{
... = load X
}
where we figure out the redundancy but don't do the replacement because
the result of the first load is not available at the place of the second load.
Some pass reordering may fix this and similar problems but of course may
have other side-effects. My suggestion is to move passes from
fre, vrp, ch
to
ch, vrp, fre
and dropping the final dom pass in favor of another FRE one (DOM has
weaker memory optimization but in addition does some jump threading and
cond expr combining, both of which don't happen a lot after loop
optimizations).
But pass reordering has to wait until after the statistics patch has
been approved.
Note that teaching DOM about the alias-oracle is very difficult and
unlikely to happen - I'd rather get rid of DOM completely.
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
BugsThisDependsOn| |34416, 35972
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32921