Use a single worker for OpenACC on AMD GCN

2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>

	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 <julian@codesourcery.com>

From-SVN: r278137
This commit is contained in:
Andrew Stubbs 2019-11-13 12:38:13 +00:00 committed by Andrew Stubbs
parent cee1645106
commit fe22e0d4f1
3 changed files with 11 additions and 3 deletions

View File

@ -1,3 +1,11 @@
2019-11-13 Andrew Stubbs <ams@codesourcery.com>
Julian Brown <julian@codesourcery.com>
* 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 <ams@codesourcery.com>
* config/gcn/gcn-run.c (heap_region): New global variable.

View File

@ -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

View File

@ -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