Commit aa229804 by Martin Jambor Committed by Martin Jambor

re PR fortran/43665 (INTENT(IN) etc. optimization of calls: function annotations…

re PR fortran/43665 (INTENT(IN) etc. optimization of calls: function annotations for noclobber/noescape arguments)

2010-09-07  Martin Jambor  <mjambor@suse.cz>

	PR fortran/43665
	* ipa-cp.c (ipcp_versionable_function_p): Return false if there
	are any type attributes.

From-SVN: r163960
parent 4cc2a722
2010-09-07 Martin Jambor <mjambor@suse.cz>
PR fortran/43665
* ipa-cp.c (ipcp_versionable_function_p): Return false if there
are any type attributes.
2010-09-07 Jan Hubicka <jh@suse.cz> 2010-09-07 Jan Hubicka <jh@suse.cz>
* tree-ssa-ccp.c (fold_const_aggregate_ref): Fix handling of array_ref_low_bound * tree-ssa-ccp.c (fold_const_aggregate_ref): Fix handling of array_ref_low_bound
......
...@@ -427,8 +427,11 @@ ipcp_versionable_function_p (struct cgraph_node *node) ...@@ -427,8 +427,11 @@ ipcp_versionable_function_p (struct cgraph_node *node)
{ {
struct cgraph_edge *edge; struct cgraph_edge *edge;
/* There are a number of generic reasons functions cannot be versioned. */ /* There are a number of generic reasons functions cannot be versioned. We
if (!node->local.versionable) also cannot remove parameters if there are type attributes such as fnspec
present. */
if (!node->local.versionable
|| TYPE_ATTRIBUTES (TREE_TYPE (node->decl)))
return false; return false;
/* Removing arguments doesn't work if the function takes varargs /* Removing arguments doesn't work if the function takes varargs
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment