This is the mail archive of the gcc-patches@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]

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



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