This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] PR56572 flatten unnecessary nested transactions after inlining
- From: Richard Biener <richard dot guenther at gmail dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>,Richard Henderson <rth at redhat dot com>
- Date: Thu, 19 Dec 2013 20:06:39 +0100
- Subject: Re: [patch] PR56572 flatten unnecessary nested transactions after inlining
- Authentication-results: sourceware.org; auth=none
- References: <52B31920 dot 9080501 at redhat dot com> <CAFiYyc1jmfRSw0LDHrD4HpyTizY8RAmGSbsZnznQOJhwjp9y+w at mail dot gmail dot com> <52B32599 dot 9080103 at redhat dot com>
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.