This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [trans-mem] lots of irrevocability fixes


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]