[RFC][patch] trans-mem: mark transaction begins as returns-twice

Torvald Riegel triegel@redhat.com
Fri Jan 6 00:04:00 GMT 2012


On Wed, 2012-01-04 at 09:59 +1100, Richard Henderson wrote:
> On 01/03/2012 09:42 PM, Torvald Riegel wrote:
> >> Why does the explicit CFG approach not work exactly?  cfun->calls_setjmp is 
> >> thought to be quite a big hammer.
> > 
> > I don't know, actually.  When I looked at the miscompilation case, all
> > abnormal edges seemed to be in place.
> > 
> > @rth: Do you have an idea what could be going wrong?  I haven't tried
> > the other thing you sent me, what was it supposed to fix?
> 
> There are several places where those edges (currently) get lost going
> from gimple to rtl.  In addition, return value copy from the hard reg
> to the pseudo is in the wrong basic block wrt the abnormal edges.
> 
> My inclination at this point is to use returns_twice for the 4.7 release
> and fix the abcall edges and associated fiddlery in 4.8 stage1.  I'm not
> especially confident that we'd clear out all the bugs in time otherwise.

I committed Richard's returns-twice patch as a work-around for now
(r182937), and created PR 51771 for this.



More information about the Gcc-patches mailing list