[patch] PR56572 flatten unnecessary nested transactions after inlining

Richard Biener richard.guenther@gmail.com
Thu Dec 19 19:05:00 GMT 2013


Aldy Hernandez <aldyh@redhat.com> wrote:
>
>>> I'm still unsure whether the IPA inliner (not the early inliner)
>will add
>>> other nested transactions, so we may have to do everything in
>.tmmark and
>>> handle the dual code paths :(.  Either way, this is a start.
>>
>> Sure it will.  At least with cross-unit inlining with LTO.  You can
>of
>> course simply
>> disallow inlining a function that has transactions into a transaction
>> when transactions
>> are lowered already.
>
>I'd still like to catch the common cases, like I do with this patch.
>
>Perhaps we move this code to the .tmmark pass and handle the 
>uninstrumented case.  rth?

Btw, don't you want an IPA pass that clones functions called from within transactions and optimize those accordingly? Thus make the tm lowering a real IPA pass?

Richard.




More information about the Gcc-patches mailing list