trans-mem: virtual ops for gimple_transaction
Richard Henderson
rth@redhat.com
Mon Feb 13 17:17:00 GMT 2012
On 02/13/2012 01:35 AM, Richard Guenther wrote:
> On Fri, 10 Feb 2012, Richard Henderson wrote:
>
>> On 02/10/2012 01:44 AM, Richard Guenther wrote:
>>> What is the reason to keep a GIMPLE_TRANSACTION stmt after
>>> TM lowering and not lower it to a builtin function call?
>>
>> Because "real" optimization hasn't happened yet, and we hold
>> out hope that we'll be able to delete stuff as unreachable.
>> Especially all instances of transaction_cancel.
>>
>>> It seems the body is empty after lowering (what's the label thing?)
>>
>> The label is the transaction cancel label.
>>
>> When we finally convert GIMPLE_TRANSACTION a builtin, we'll
>> generate different code layouts with and without a cancel.
>
> Ah, I see. But wouldn't a placeholder builtin function be
> effectively the same as using a new GIMPLE stmt kind?
Except for the whole "need to hold on to a label" thing.
Honestly, think about that for 10 seconds and tell me that
a builtin is better than simply re-tasking the gimple code
that we already have around.
r~
More information about the Gcc-patches
mailing list