aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/hsa.c5
-rw-r--r--gcc/lto/ChangeLog5
-rw-r--r--gcc/lto/lto-partition.c19
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
diff --git a/gcc/hsa.c b/gcc/hsa.c
index ec23f81..f0b3205 100644
--- a/gcc/hsa.c
+++ b/gcc/hsa.c
@@ -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);