This is the mail archive of the 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: PR middle-end/52141: ICE due to asm statement

On 02/15/12 03:48, Richard Guenther wrote:
On Tue, Feb 14, 2012 at 6:47 PM, Richard Henderson<> wrote:
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__("");


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.


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

That's why I also specified the calling function in the error message. But I do agree that the message has the potential of confusing.

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...

You will hear no complaints from me. I'm tired of fixing the same bug over and over.

Hmm.  I think you rather want to teach local_pure_const about TM
properties you want to know and have them propagated properly
(of course unless pure/const which is about optimization and has an
easy fallback default yours wouldn't have that - you'd have to assume
the callee contains an invalid asm ...)

Richard G., can you explain the parenthesized comment. I'm not sure I follow you.

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