Commit 4ecbadc7 by Martin Liska Committed by Martin Liska

HSA: simplify partitioning of HSA kernels and host impls.

	* lto-partition.c (add_symbol_to_partition_1): Remove usage
	of hsa_summaries.
	* hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
	reference for an HSA kernel and its host function.

From-SVN: r232871
parent b1652dde
2016-01-27 Martin Liska <mliska@suse.cz>
* hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
reference for an HSA kernel and its host function.
2016-01-27 Jakub Jelinek <jakub@redhat.com> 2016-01-27 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/69399 PR tree-optimization/69399
......
...@@ -781,6 +781,11 @@ hsa_summary_t::link_functions (cgraph_node *gpu, cgraph_node *host, ...@@ -781,6 +781,11 @@ hsa_summary_t::link_functions (cgraph_node *gpu, cgraph_node *host,
TREE_OPTIMIZATION (fn_opts)->x_flag_tree_loop_vectorize = false; TREE_OPTIMIZATION (fn_opts)->x_flag_tree_loop_vectorize = false;
TREE_OPTIMIZATION (fn_opts)->x_flag_tree_slp_vectorize = false; TREE_OPTIMIZATION (fn_opts)->x_flag_tree_slp_vectorize = false;
DECL_FUNCTION_SPECIFIC_OPTIMIZATION (gdecl) = fn_opts; DECL_FUNCTION_SPECIFIC_OPTIMIZATION (gdecl) = fn_opts;
/* Create reference between a kernel and a corresponding host implementation
to quarantee LTO streaming to a same LTRANS. */
if (kind == HSA_KERNEL)
gpu->create_reference (host, IPA_REF_ADDR);
} }
/* Add a HOST function to HSA summaries. */ /* Add a HOST function to HSA summaries. */
......
2016-01-27 Martin Liska <mliska@suse.cz>
* lto-partition.c (add_symbol_to_partition_1): Remove usage
of hsa_summaries.
2016-01-19 Jan Hubicka <hubicka@ucw.cz> 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
PR lto/69136 PR lto/69136
......
...@@ -34,7 +34,6 @@ along with GCC; see the file COPYING3. If not see ...@@ -34,7 +34,6 @@ along with GCC; see the file COPYING3. If not see
#include "ipa-prop.h" #include "ipa-prop.h"
#include "ipa-inline.h" #include "ipa-inline.h"
#include "lto-partition.h" #include "lto-partition.h"
#include "hsa.h"
vec<ltrans_partition> ltrans_partitions; vec<ltrans_partition> ltrans_partitions;
...@@ -171,24 +170,6 @@ add_symbol_to_partition_1 (ltrans_partition part, symtab_node *node) ...@@ -171,24 +170,6 @@ add_symbol_to_partition_1 (ltrans_partition part, symtab_node *node)
Therefore put it into the same partition. */ Therefore put it into the same partition. */
if (cnode->instrumented_version) if (cnode->instrumented_version)
add_symbol_to_partition_1 (part, cnode->instrumented_version); add_symbol_to_partition_1 (part, cnode->instrumented_version);
/* Add an HSA associated with the symbol. */
if (hsa_summaries != NULL)
{
hsa_function_summary *s = hsa_summaries->get (cnode);
if (s->m_kind == HSA_KERNEL)
{
/* Add binded function. */
bool added = add_symbol_to_partition_1 (part,
s->m_binded_function);
gcc_assert (added);
if (symtab->dump_file)
fprintf (symtab->dump_file,
"adding an HSA function (host/gpu) to the "
"partition: %s\n",
s->m_binded_function->name ());
}
}
} }
add_references_to_partition (part, node); add_references_to_partition (part, node);
......
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