[PR51752] publication safety violations in loop invariant motion pass

Andrew MacLeod amacleod@redhat.com
Mon Feb 27 17:20:00 GMT 2012


On 02/27/2012 11:22 AM, Aldy Hernandez wrote:
>
>> Ok. I see.  So, I think what would be best is to have a way to check 
>> whether
>> a store/load is part of a transaction - do we have a way to do that 
>> right now?
>> (For example a flag on a gimple stmt?)  Then we can simply avoid the LIM
>
> We do not (*).  My patch accumulates that information on demand.  I 
> can certainly add a gimple bit for this, but can't the optimizations 
> change/rewrite the stores/loads so we lose this information?
>
I t would seem appropriate to me that in the future, perhaps the CFG 
could have a flag set for any basic block which is in a transaction...  
This would make it pretty trivial at all times to tell if a statement is 
part of a transaction or not.  It seems like the process of CFG 
construction/updating should be able to maintain that info for little 
cost. (ie, I'd guess it's already making the traversals requires to 
collect that info)

It would certainly be convenient :-)

Andrew





More information about the Gcc-patches mailing list