This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/39837] [4.3/4.4/4.5 regression] extra spills due to RTL LICM
- From: "rakdver at kam dot mff dot cuni dot cz" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Jan 2010 09:47:38 -0000
- Subject: [Bug rtl-optimization/39837] [4.3/4.4/4.5 regression] extra spills due to RTL LICM
- References: <bug-39837-17592@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #8 from rakdver at kam dot mff dot cuni dot cz 2010-01-30 09:47 -------
Subject: Re: [4.3/4.4/4.5 regression] extra
spills due to RTL LICM
> (Looking at Zdenek:) Would something like this in a more polished and actually
> verified&tested form be a good idea?
I think this could cause us to move the invariant addresses out of the loop
unnecessarily. Note that moving "const(`g'+0x8)" out of the loop is only a
good idea because it is used elsewhere -- if it were only used as the address,
moving it out adds an unnecessary assignment. This could be handled by the
patch by ignoring the address invariants in find_invariants_to_move.
Otherwise, the idea looks fine to me (assuming that there are reasons why this
is not done by fwprop),
Zdenek
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39837