Aldy Hernandez <al...@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.