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? Richard.