diff options
author | Martin Liska <mliska@suse.cz> | 2016-01-27 13:50:05 +0100 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2016-01-27 12:50:05 +0000 |
commit | 4ecbadc72896ca5fa7a3cdeea84f4faafd3b0be3 (patch) | |
tree | 0ddc7a7d882a6be038b8f16263950f039fbb714c /gcc | |
parent | b1652ddea99943a7a6df4be25e3a35e4eeeeb86d (diff) | |
download | gcc-4ecbadc72896ca5fa7a3cdeea84f4faafd3b0be3.zip gcc-4ecbadc72896ca5fa7a3cdeea84f4faafd3b0be3.tar.gz gcc-4ecbadc72896ca5fa7a3cdeea84f4faafd3b0be3.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/hsa.c | 5 | ||||
-rw-r--r-- | gcc/lto/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/lto/lto-partition.c | 19 |
4 files changed, 15 insertions, 19 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 12a2583..cffba02 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +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> PR tree-optimization/69399 @@ -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_slp_vectorize = false; 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. */ diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 952ebd4..43faaf4 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,8 @@ +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> PR lto/69136 diff --git a/gcc/lto/lto-partition.c b/gcc/lto/lto-partition.c index eb28fed..9eb63c2 100644 --- a/gcc/lto/lto-partition.c +++ b/gcc/lto/lto-partition.c @@ -34,7 +34,6 @@ along with GCC; see the file COPYING3. If not see #include "ipa-prop.h" #include "ipa-inline.h" #include "lto-partition.h" -#include "hsa.h" vec<ltrans_partition> ltrans_partitions; @@ -171,24 +170,6 @@ add_symbol_to_partition_1 (ltrans_partition part, symtab_node *node) Therefore put it into the same partition. */ if (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); |