This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PR middle-end/52141: ICE due to asm statement
- From: Richard Henderson <rth at redhat dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 14 Feb 2012 09:47:58 -0800
- Subject: Re: PR middle-end/52141: ICE due to asm statement
- References: <4F3A8FF4.1070606@redhat.com>
On 02/14/2012 08:46 AM, Aldy Hernandez wrote:
> The call to ipa_tm_diagnose_tm_safe() does nothing because there are no longer any calls in the function, since the function call has been inlined:
>
> f ()
> {
> <bb 2>:
> __asm__ __volatile__("");
> return;
>
> }
>
> Perhaps we could issue the error when we notice the GIMPLE_ASM while scanning for irrevocable blocks earlier. The attached patch does so, and fixes the PR.
>
> What am I missing, cause I *know* there's a rat's nest somewhere.
Ug.
Which means that the error message is all too likely simply be confusing
rather than anything else, since the asm isn't lexically present in the
transaction.
I wonder, not for the first time, if we shouldn't simply turn off early
inlining with TM, or at least of and into tm-related functions, such as
this. I assume that the IPA inlining pass would take up the slack...
r~