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, PATCH] do not dereference node if null in expand_call_tm (PR middle-end/52047)


On 02/01/2012 03:59 AM, Richard Guenther wrote:
The patch looks ok, but I'm not sure why you do not get a cgraph node
here - cgraph doesn't really care for builtins as far as I can see.  Honza?
I cannot help on this...

Don't you maybe want to handle builtins in a special way here?
Indeed, I think my patch is wrong. __builtin_prefetch should have the transaction_pure attribute. I don't know how usually it should be done but what about adding a gcc_assert before to dereference node (potentially NULL)?

How the attached patch looks like now?
(Tested on i686)

> At least those that are const/pure?
About const/pure, we cannot consider those functions as transaction_pure because they can read global and shared variable.
BTW, I will post a PR (and probably a patch) about this.


Thanks for your comment!

Patrick.

	PR middle-end/52047
	* trans-mem.c (expand_call_tm): Add an assertion.
	* tree-ssa-loop-prefetch.c (issue_prefetch_ref): Add transaction_pure
	attribute to __builtin_prefetch.
	(tree_ssa_prefetch_arrays): Likewise.

Attachment: pr52047_3.patch
Description: Text document


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