[trans-mem] PR/45940 again

Aldy Hernandez aldyh@redhat.com
Mon Dec 13 14:44:00 GMT 2010


The testcase reported found some more corner cases, which I iterated 
with rth about.

The proper fix with the current infrastructure is to disable inlining 
for tm_pure functions when the caller is a tm_safe.  This is because 
tm_pure is the only escape hatch we have for "do not annotate this".  
E.g. you want to  add a call to printf for debugging, or there's some 
data you know that shouldn't be part of the transaction.

A temporary fix is to disable inlining for tm_pure functions altogether.

Can I get this in while I get the rest of the benchmarks building?

p.s. I also added some syntactic sugar for is_tm_safe_or_pure() which 
makes the code easier to read.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: curr
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20101213/a4df8a4f/attachment.ksh>


More information about the Gcc-patches mailing list