This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [trans-mem] lots of irrevocability fixes
- From: Aldy Hernandez <aldyh at redhat dot com>
- To: Richard Henderson <rth at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 23 Jul 2009 15:00:50 -0400
- Subject: Re: [trans-mem] lots of irrevocability fixes
- References: <20090723173709.GA12935@redhat.com> <4A68A51D.3030601@redhat.com>
On Thu, Jul 23, 2009 at 10:59:57AM -0700, Richard Henderson wrote:
> On 07/23/2009 10:37 AM, Aldy Hernandez wrote:
>> 4. An indirect call within a transaction may go irrevocable, so any time
>> we call the runtime on ipa_tm_insert_gettmclone_call() we should mark it
>> so.
>
> In addition, a direct call to a tm_callable function may
> go irrevocable. Calls to tm_safe and tm_pure may not.
> I'm not sure what the situation is for tm_wrap functions;
> perhaps just consider them as tm_callable for now.
>
>> + /* ...but keep the bits that require IPA to collect. Ideally
>> + we should do IPA again to make sure things like DCE didn't
>> + invalidate irrevocability, but we are certain not to
>> + introduce things that go irrevocable, so it's safe to keep
>> + the irrevocability bit. */
>
> We don't need to run IPA again, we just need to tag each function
> so that we remember whether or not it must/can go irrevocable.
>
> Perhaps some bits on cgraph_local_info would be appropriate?
> We can probably remove the DECL_IS_TM_CLONE tree bit at the
> same time.
>
> The patch is ok.
Ok, I will commit and then continue tweaking this as you suggested.
Aldy