always define ENABLE_OFFLOADING

gcc/cp/ChangeLog:

2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* parser.c (cp_parser_omp_declare_target): Adjust.

gcc/ChangeLog:

2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* configure: Regenerate.
	* configure.ac: Always define ENABLE_OFFLOADING.
	* cgraph.c (cgraph_node::create): Adjust.
	* gcc.c (process_command): Likewise.
	* omp-low.c (create_omp_child_function): Likewise.
	(expand_omp_target): Likewise.
	* varpool.c (varpool_node::get_create): Likewise.

gcc/c/ChangeLog:

2015-11-14  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* c-parser.c (c_parser_omp_declare_target): Adjust.

From-SVN: r230393
This commit is contained in:
Trevor Saunders 2015-11-15 00:18:08 +00:00 committed by Trevor Saunders
parent dd4fb6097a
commit 1d899da297
11 changed files with 58 additions and 35 deletions

View File

@ -1,3 +1,13 @@
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* configure: Regenerate.
* configure.ac: Always define ENABLE_OFFLOADING.
* cgraph.c (cgraph_node::create): Adjust.
* gcc.c (process_command): Likewise.
* omp-low.c (create_omp_child_function): Likewise.
(expand_omp_target): Likewise.
* varpool.c (varpool_node::get_create): Likewise.
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* defaults.h (EH_RETURN_HANDLER_RTX): New default definition.

View File

@ -1,3 +1,7 @@
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* c-parser.c (c_parser_omp_declare_target): Adjust.
2015-11-14 Jakub Jelinek <jakub@redhat.com>
* c-typeck.c (c_finish_omp_clauses): Don't mark

View File

@ -16300,14 +16300,15 @@ c_parser_omp_declare_target (c_parser *parser)
if (node != NULL)
{
node->offloadable = 1;
#ifdef ENABLE_OFFLOADING
if (ENABLE_OFFLOADING)
{
g->have_offload = true;
if (is_a <varpool_node *> (node))
{
vec_safe_push (offload_vars, t);
node->force_output = 1;
}
#endif
}
}
}
}

View File

@ -499,9 +499,8 @@ cgraph_node::create (tree decl)
&& lookup_attribute ("omp declare target", DECL_ATTRIBUTES (decl)))
{
node->offloadable = 1;
#ifdef ENABLE_OFFLOADING
if (ENABLE_OFFLOADING)
g->have_offload = true;
#endif
}
node->register_symbol ();

8
gcc/configure vendored
View File

@ -7715,6 +7715,10 @@ if test x"$offload_targets" != x; then
$as_echo "#define ENABLE_OFFLOADING 1" >>confdefs.h
else
$as_echo "#define ENABLE_OFFLOADING 0" >>confdefs.h
fi
@ -18402,7 +18406,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 18405 "configure"
#line 18409 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@ -18508,7 +18512,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
#line 18511 "configure"
#line 18515 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H

View File

@ -951,6 +951,9 @@ AC_DEFINE_UNQUOTED(OFFLOAD_TARGETS, "$offload_targets",
if test x"$offload_targets" != x; then
AC_DEFINE(ENABLE_OFFLOADING, 1,
[Define this to enable support for offloading.])
else
AC_DEFINE(ENABLE_OFFLOADING, 0,
[Define this to enable support for offloading.])
fi
AC_ARG_WITH(multilib-list,

View File

@ -1,3 +1,7 @@
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* parser.c (cp_parser_omp_declare_target): Adjust.
2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
* vtable-class-hierarchy.c (vtv_generate_init_routine): Adjust.

View File

@ -35208,14 +35208,15 @@ cp_parser_omp_declare_target (cp_parser *parser, cp_token *pragma_tok)
if (node != NULL)
{
node->offloadable = 1;
#ifdef ENABLE_OFFLOADING
if (ENABLE_OFFLOADING)
{
g->have_offload = true;
if (is_a <varpool_node *> (node))
{
vec_safe_push (offload_vars, t);
node->force_output = 1;
}
#endif
}
}
}
}

View File

@ -4392,12 +4392,10 @@ process_command (unsigned int decoded_options_count,
CL_DRIVER, &handlers, global_dc);
}
#ifdef ENABLE_OFFLOADING
/* If the user didn't specify any, default to all configured offload
targets. */
if (offload_targets == NULL)
if (ENABLE_OFFLOADING && offload_targets == NULL)
handle_foffload_option (OFFLOAD_TARGETS);
#endif
if (output_file
&& strcmp (output_file, "-") != 0

View File

@ -2424,9 +2424,9 @@ create_omp_child_function (omp_context *ctx, bool task_copy)
if (is_gimple_omp_offloaded (octx->stmt))
{
cgraph_node::get_create (decl)->offloadable = 1;
#ifdef ENABLE_OFFLOADING
if (ENABLE_OFFLOADING)
g->have_offload = true;
#endif
break;
}
}
@ -12613,10 +12613,9 @@ expand_omp_target (struct omp_region *region)
node->parallelized_function = 1;
cgraph_node::add_new_function (child_fn, true);
#ifdef ENABLE_OFFLOADING
/* Add the new function to the offload table. */
if (ENABLE_OFFLOADING)
vec_safe_push (offload_funcs, child_fn);
#endif
bool need_asm = DECL_ASSEMBLER_NAME_SET_P (current_function_decl)
&& !DECL_ASSEMBLER_NAME_SET_P (child_fn);
@ -12628,11 +12627,10 @@ expand_omp_target (struct omp_region *region)
assign_assembler_name_if_neeeded (child_fn);
cgraph_edge::rebuild_edges ();
#ifdef ENABLE_OFFLOADING
/* Prevent IPA from removing child_fn as unreachable, since there are no
refs from the parent function to child_fn in offload LTO mode. */
if (ENABLE_OFFLOADING)
cgraph_node::get (child_fn)->mark_force_output ();
#endif
/* Some EH regions might become dead, see PR34608. If
pass_cleanup_cfg isn't the first pass to happen with the

View File

@ -153,12 +153,13 @@ varpool_node::get_create (tree decl)
&& lookup_attribute ("omp declare target", DECL_ATTRIBUTES (decl)))
{
node->offloadable = 1;
#ifdef ENABLE_OFFLOADING
if (ENABLE_OFFLOADING)
{
g->have_offload = true;
if (!in_lto_p)
vec_safe_push (offload_vars, decl);
node->force_output = 1;
#endif
}
}
node->register_symbol ();