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



Reply via email to