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 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~



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