This is the mail archive of the
mailing list for the GCC project.
Re: [PR51752] publication safety violations in loop invariant motion pass
On 02/27/2012 11:22 AM, Aldy Hernandez wrote:
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)
Ok. I see. So, I think what would be best is to have a way to check
a store/load is part of a transaction - do we have a way to do that
(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?
It would certainly be convenient :-)