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~