This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC][patch] trans-mem: mark transaction begins as returns-twice
- From: Torvald Riegel <triegel at redhat dot com>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: gcc-patches at gcc dot gnu dot org, Richard Henderson <rth at redhat dot com>, Aldy Hernandez <aldyh at redhat dot com>
- Date: Tue, 03 Jan 2012 11:42:37 +0100
- Subject: Re: [RFC][patch] trans-mem: mark transaction begins as returns-twice
- References: <1325527819.7636.552.camel@triegel.csb> <201201030936.36185.ebotcazou@adacore.com>
On Tue, 2012-01-03 at 09:36 +0100, Eric Botcazou wrote:
> > AFAICT, we previously wanted to handle "restart safety" by adding
> > abnormal edges to all calls to the TM runtime library (which could in
> > turn call the libitm longjmp that actually restarts a transaction).
> > Richard mentioned that we could drop this code (I think he meant this,
> > and others pieces perhaps) if the returns-twice approach works.
>
> 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?