This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch] Fix PR41440 bad edge insertion
As there was no further discussion, can it that Richard's approval still
stands and patch is ok to commit?
http://gcc.gnu.org/ml/gcc-patches/2009-10/msg00061.html
Kindest regards
Andy
Paolo Bonzini wrote:
On 10/01/2009 05:11 PM, Richard Guenther wrote:
On Thu, Oct 1, 2009 at 3:26 PM,<andrewhutchinson@cox.net> wrote:
The attach patch fixs problem with edge insertions being made in the
wrong place if RTL pattern happens to use jump.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41440
The problem breaks cc0 targets during CSE. Non cc0 targets can
equally get
erroneous insertion made inside RTL expander loop pattern. These may
or may not
break.
After discussion with Micael Matz, the preferred method is fix the
problem at the point of
RTL expansion. A block that ends with a jump created by RTL expander
on an
otherwise fallthru edge, is now padded with mov(r,r) NOP. Thus
commit_one_edge_insertion() will no longer find and interpret this
as a jump to
successor causing the insertion point to be wrong.
Ok for 4.5 Trunk?
Ok.
Andrew, please wait for the end of the discussion, we're nowhere near
a release.
Paolo