[hsa merge 07/10] IPA-HSA pass
Jakub Jelinek
jakub@redhat.com
Mon Jan 25 15:24:00 GMT 2016
On Mon, Jan 25, 2016 at 04:21:50PM +0100, Martin Liška wrote:
> On 01/16/2016 11:00 AM, Jan Hubicka wrote:
> > Can't it be represented via explicit REF_ADDR or something like that?
> >
> > Honza
>
> Hi.
>
> Sure, I've just done a patch that can do that. However, as we're currently in stage4,
> that change would probably require explicit permission of a release manager?
If Honza is fine with it and you've tested it, this is ok for trunk.
> >From 9639fff94d043c55b55bfb12bb086032db565f0a Mon Sep 17 00:00:00 2001
> From: marxin <mliska@suse.cz>
> Date: Mon, 25 Jan 2016 16:11:00 +0100
> Subject: [PATCH] HSA: simplify partitioning of HSA kernels and host impls.
>
> gcc/lto/ChangeLog:
>
> 2016-01-25 Martin Liska <mliska@suse.cz>
>
> * lto-partition.c (add_symbol_to_partition_1): Remove usage
> of hsa_summaries.
>
> gcc/ChangeLog:
>
> 2016-01-25 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.
> ---
> gcc/hsa.c | 5 +++++
> gcc/lto/lto-partition.c | 19 -------------------
> 2 files changed, 5 insertions(+), 19 deletions(-)
>
> 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/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);
> --
> 2.7.0
>
Jakub
More information about the Gcc-patches
mailing list