Commit 51020892 by Martin Jambor Committed by Martin Jambor

[hsa] Fix hsa function cloning test

2017-01-11  Martin Jambor  <mjambor@suse.cz>

	* hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL
	test.
	* ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial
	decorated functions.

From-SVN: r244308
parent 80c74722
2017-01-11 Martin Jambor <mjambor@suse.cz>
* hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL
test.
* ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial
decorated functions.
2017-01-11 Richard Biener <rguenther@suse.de> 2017-01-11 Richard Biener <rguenther@suse.de>
* tree-vrp.c (evrp_dom_walker::before_dom_children): Also * tree-vrp.c (evrp_dom_walker::before_dom_children): Also
......
...@@ -90,10 +90,7 @@ bool ...@@ -90,10 +90,7 @@ bool
hsa_callable_function_p (tree fndecl) hsa_callable_function_p (tree fndecl)
{ {
return (lookup_attribute ("omp declare target", DECL_ATTRIBUTES (fndecl)) return (lookup_attribute ("omp declare target", DECL_ATTRIBUTES (fndecl))
&& !lookup_attribute ("oacc function", DECL_ATTRIBUTES (fndecl)) && !lookup_attribute ("oacc function", DECL_ATTRIBUTES (fndecl)));
/* At this point, this is enough to identify clones for
parallel, which for HSA would need to be kernels anyway. */
&& !DECL_ARTIFICIAL (fndecl));
} }
/* Allocate HSA structures that are are used when dealing with different /* Allocate HSA structures that are are used when dealing with different
......
...@@ -100,7 +100,10 @@ process_hsa_functions (void) ...@@ -100,7 +100,10 @@ process_hsa_functions (void)
clone->name (), clone->name (),
s->m_kind == HSA_KERNEL ? "kernel" : "function"); s->m_kind == HSA_KERNEL ? "kernel" : "function");
} }
else if (hsa_callable_function_p (node->decl)) else if (hsa_callable_function_p (node->decl)
/* At this point, this is enough to identify clones for
parallel, which for HSA would need to be kernels anyway. */
&& !DECL_ARTIFICIAL (node->decl))
{ {
if (!check_warn_node_versionable (node)) if (!check_warn_node_versionable (node))
continue; continue;
......
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