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: Richard Henderson <rth at redhat dot com>
- To: Aldy Hernandez <aldyh at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 23 Jul 2009 10:59:57 -0700
- Subject: Re: [trans-mem] lots of irrevocability fixes
- References: <20090723173709.GA12935@redhat.com>
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.
r~