From fe22e0d4f1d705fef8ad037bcc8c6092c139b298 Mon Sep 17 00:00:00 2001 From: Andrew Stubbs Date: Wed, 13 Nov 2019 12:38:13 +0000 Subject: [PATCH] Use a single worker for OpenACC on AMD GCN 2019-11-13 Andrew Stubbs Julian Brown gcc/ * config/gcn/gcn.c (gcn_goacc_validate_dims): Ensure flag_worker_partitioning is not set. (TARGET_GOACC_WORKER_PARTITIONING): Remove target hook definition. * config/gcn/gcn.opt (macc-experimental-workers): Default to off. Co-Authored-By: Julian Brown From-SVN: r278137 --- gcc/ChangeLog | 8 ++++++++ gcc/config/gcn/gcn.c | 4 ++-- gcc/config/gcn/gcn.opt | 2 +- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c2daf406826..0e5560e1f87 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2019-11-13 Andrew Stubbs + Julian Brown + + * config/gcn/gcn.c (gcn_goacc_validate_dims): Ensure + flag_worker_partitioning is not set. + (TARGET_GOACC_WORKER_PARTITIONING): Remove target hook definition. + * config/gcn/gcn.opt (macc-experimental-workers): Default to off. + 2019-11-13 Andrew Stubbs * config/gcn/gcn-run.c (heap_region): New global variable. diff --git a/gcc/config/gcn/gcn.c b/gcc/config/gcn/gcn.c index cdd24277cf6..1a69737f693 100644 --- a/gcc/config/gcn/gcn.c +++ b/gcc/config/gcn/gcn.c @@ -4695,6 +4695,8 @@ gcn_goacc_validate_dims (tree decl, int dims[], int fn_level, /* FIXME: remove -facc-experimental-workers when they're ready. */ int max_workers = flag_worker_partitioning ? 16 : 1; + gcc_assert (!flag_worker_partitioning); + /* The vector size must appear to be 64, to the user, unless this is a SEQ routine. The real, internal value is always 1, which means use autovectorization, but the user should not see that. */ @@ -6073,8 +6075,6 @@ print_operand (FILE *file, rtx x, int code) #define TARGET_GOACC_REDUCTION gcn_goacc_reduction #undef TARGET_GOACC_VALIDATE_DIMS #define TARGET_GOACC_VALIDATE_DIMS gcn_goacc_validate_dims -#undef TARGET_GOACC_WORKER_PARTITIONING -#define TARGET_GOACC_WORKER_PARTITIONING true #undef TARGET_HARD_REGNO_MODE_OK #define TARGET_HARD_REGNO_MODE_OK gcn_hard_regno_mode_ok #undef TARGET_HARD_REGNO_NREGS diff --git a/gcc/config/gcn/gcn.opt b/gcc/config/gcn/gcn.opt index bdc878f35ad..402deb625bd 100644 --- a/gcc/config/gcn/gcn.opt +++ b/gcc/config/gcn/gcn.opt @@ -65,7 +65,7 @@ Target Report RejectNegative Var(flag_bypass_init_error) bool flag_worker_partitioning = false macc-experimental-workers -Target Report Var(flag_worker_partitioning) Init(1) +Target Report Var(flag_worker_partitioning) Init(0) int stack_size_opt = -1 -- 2.30.2