[patch] original function and TM clone has to be marked needed

Richard Henderson rth@redhat.com
Thu Dec 1 21:38:00 GMT 2011


On 11/30/2011 08:25 PM, Patrick Marlier wrote:
> In the current version, the original function and its clone are marked as taken with cgraph_mark_address_taken_node. But it seems not enough and it has to be marked as needed.
> It comes with a testcase (testsuite/g++.dg/tm/ctor-used.C).
> 
> Passed all TM tests.
> 
> PS: Note that there is still a problem with the testcase because _ITM_getTMCloneOrIrrevocable is called instead of _ITM_getTMCloneSafe (it is an atomic not relaxed transaction). I can have a look if you want.
> 
> 2011-11-30  Patrick Marlier  <patrick.marlier@gmail.com>
> 
>     * trans-mem.c (ipa_tm_insert_gettmclone_call): mark original
>     and clone as needed.
> 

There are more problems than that.  This function is defined in this 
file, and somehow we declined to clone it.  We should not have attempted
to call _ITM_getTMCloneOrIrrevocable or _ITM_getTMCloneSafe.


r~



More information about the Gcc-patches mailing list