diff options
author | Julian Brown <julian@codesourcery.com> | 2019-09-04 16:33:02 -0700 |
---|---|---|
committer | Thomas Schwinge <thomas@codesourcery.com> | 2020-03-03 12:50:41 +0100 |
commit | 0549f1fcbe5ff0252db9e99275ede4d3c0d26dc5 (patch) | |
tree | 507fb15a2b70428d4849849b8de8ef89ca88e723 | |
parent | 1cd81a77f08ca49a2781f0583a6b689f2881d285 (diff) | |
download | gcc-0549f1fcbe5ff0252db9e99275ede4d3c0d26dc5.zip gcc-0549f1fcbe5ff0252db9e99275ede4d3c0d26dc5.tar.gz gcc-0549f1fcbe5ff0252db9e99275ede4d3c0d26dc5.tar.bz2 |
[og9] AMD GCN adjustments for middle-end worker partitioning
gcc/
* config/gcn/gcn-protos.h (gcn_goacc_adjust_propagation_record): Rename
prototype to...
(gcn_goacc_create_propagation_record): This.
* config/gcn/gcn-tree.c (gcn_goacc_adjust_propagation_record): Rename
function to...
(gcn_goacc_create_propagation_record): This. Adjust comment.
* config/gcn/gcn.c (gcn_init_builtins): Override decls for
BUILT_IN_GOACC_SINGLE_START, BUILT_IN_GOACC_SINGLE_COPY_START,
BUILT_IN_GOACC_SINGLE_COPY_END and BUILT_IN_GOACC_BARRIER.
(gcn_fork_join): Remove inaccurate comment.
(TARGET_GOACC_ADJUST_PROPAGATION_RECORD): Rename to...
(TARGET_GOACC_CREATE_PROPAGATION_RECORD): This.
(cherry picked from openacc-gcc-9-branch commit
f079b7a61a6bc88109ad68fffca607b47ec109c5)
-rw-r--r-- | gcc/ChangeLog.omp | 15 | ||||
-rw-r--r-- | gcc/config/gcn/gcn-protos.h | 2 | ||||
-rw-r--r-- | gcc/config/gcn/gcn-tree.c | 6 | ||||
-rw-r--r-- | gcc/config/gcn/gcn.c | 11 |
4 files changed, 22 insertions, 12 deletions
diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp index a2b2dcf..0d068ac 100644 --- a/gcc/ChangeLog.omp +++ b/gcc/ChangeLog.omp @@ -1,5 +1,20 @@ 2019-09-05 Julian Brown <julian@codesourcery.com> + * config/gcn/gcn-protos.h (gcn_goacc_adjust_propagation_record): Rename + prototype to... + (gcn_goacc_create_propagation_record): This. + * config/gcn/gcn-tree.c (gcn_goacc_adjust_propagation_record): Rename + function to... + (gcn_goacc_create_propagation_record): This. Adjust comment. + * config/gcn/gcn.c (gcn_init_builtins): Override decls for + BUILT_IN_GOACC_SINGLE_START, BUILT_IN_GOACC_SINGLE_COPY_START, + BUILT_IN_GOACC_SINGLE_COPY_END and BUILT_IN_GOACC_BARRIER. + (gcn_fork_join): Remove inaccurate comment. + (TARGET_GOACC_ADJUST_PROPAGATION_RECORD): Rename to... + (TARGET_GOACC_CREATE_PROPAGATION_RECORD): This. + +2019-09-05 Julian Brown <julian@codesourcery.com> + * Makefile.in (OBJS): Add omp-sese.o. * omp-builtins.def (BUILT_IN_GOACC_BARRIER, BUILT_IN_GOACC_SINGLE_START, BUILT_IN_GOACC_SINGLE_COPY_START, BUILT_IN_GOACC_SINGLE_COPY_END): New diff --git a/gcc/config/gcn/gcn-protos.h b/gcc/config/gcn/gcn-protos.h index da7faf2..1711862 100644 --- a/gcc/config/gcn/gcn-protos.h +++ b/gcc/config/gcn/gcn-protos.h @@ -37,7 +37,7 @@ extern rtx gcn_full_exec (); extern rtx gcn_full_exec_reg (); extern rtx gcn_gen_undef (machine_mode); extern bool gcn_global_address_p (rtx); -extern tree gcn_goacc_adjust_propagation_record (tree record_type, bool sender, +extern tree gcn_goacc_create_propagation_record (tree record_type, bool sender, const char *name); extern void gcn_goacc_adjust_gangprivate_decl (tree var); extern void gcn_goacc_reduction (gcall *call); diff --git a/gcc/config/gcn/gcn-tree.c b/gcc/config/gcn/gcn-tree.c index c6b6302..04902a3 100644 --- a/gcc/config/gcn/gcn-tree.c +++ b/gcc/config/gcn/gcn-tree.c @@ -667,12 +667,12 @@ gcn_goacc_reduction (gcall *call) } } -/* Implement TARGET_GOACC_ADJUST_PROPAGATION_RECORD. +/* Implement TARGET_GOACC_CREATE_PROPAGATION_RECORD. - Tweak (worker) propagation record, e.g. to put it in shared memory. */ + Create (worker) propagation record in shared memory. */ tree -gcn_goacc_adjust_propagation_record (tree record_type, bool sender, +gcn_goacc_create_propagation_record (tree record_type, bool sender, const char *name) { tree type = record_type; diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c index f3f112d..ca9321b 100644 --- a/gcc/config/gcn/gcn.c +++ b/gcc/config/gcn/gcn.c @@ -3468,8 +3468,6 @@ gcn_init_builtins (void) TREE_NOTHROW (gcn_builtin_decls[i]) = 1; } -/* FIXME: remove the ifdef once OpenACC support is merged upstream. */ -#ifdef BUILT_IN_GOACC_SINGLE_START /* These builtins need to take/return an LDS pointer: override the generic versions here. */ @@ -3486,7 +3484,6 @@ gcn_init_builtins (void) set_builtin_decl (BUILT_IN_GOACC_BARRIER, gcn_builtin_decls[GCN_BUILTIN_ACC_BARRIER], false); -#endif } /* Expand the CMP_SWAP GCN builtins. We have our own versions that do @@ -4765,8 +4762,6 @@ static bool gcn_fork_join (gcall *ARG_UNUSED (call), const int *ARG_UNUSED (dims), bool ARG_UNUSED (is_fork)) { - /* GCN does not use the fork/join concept invented for NVPTX. - Instead we use standard autovectorization. */ return false; } @@ -6029,9 +6024,9 @@ print_operand (FILE *file, rtx x, int code) #define TARGET_FUNCTION_VALUE_REGNO_P gcn_function_value_regno_p #undef TARGET_GIMPLIFY_VA_ARG_EXPR #define TARGET_GIMPLIFY_VA_ARG_EXPR gcn_gimplify_va_arg_expr -#undef TARGET_GOACC_ADJUST_PROPAGATION_RECORD -#define TARGET_GOACC_ADJUST_PROPAGATION_RECORD \ - gcn_goacc_adjust_propagation_record +#undef TARGET_GOACC_CREATE_PROPAGATION_RECORD +#define TARGET_GOACC_CREATE_PROPAGATION_RECORD \ + gcn_goacc_create_propagation_record #undef TARGET_GOACC_ADJUST_GANGPRIVATE_DECL #define TARGET_GOACC_ADJUST_GANGPRIVATE_DECL gcn_goacc_adjust_gangprivate_decl #undef TARGET_GOACC_FORK_JOIN |