[nvptx] Handle assignment to gang-level reduction variable

2019-01-15  Tom de Vries  <tdevries@suse.de>

	PR target/80547
	* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
	lhs == NULL_TREE for gang-level reduction.

	* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
	New test.

From-SVN: r267934
This commit is contained in:
Tom de Vries 2019-01-15 10:11:16 +00:00 committed by Tom de Vries
parent 4882e5bada
commit d41d952c9b
4 changed files with 30 additions and 1 deletions

View file

@ -1,3 +1,9 @@
2019-01-15 Tom de Vries <tdevries@suse.de>
PR target/80547
* config/nvptx/nvptx.c (nvptx_goacc_reduction_init): Handle
lhs == NULL_TREE for gang-level reduction.
2019-01-15 Richard Biener <rguenther@suse.de>
Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>

View file

@ -6242,7 +6242,8 @@ nvptx_goacc_reduction_init (gcall *call, offload_attrs *oa)
init = var;
}
gimplify_assign (lhs, init, &seq);
if (lhs != NULL_TREE)
gimplify_assign (lhs, init, &seq);
}
pop_gimplify_context (NULL);

View file

@ -1,3 +1,9 @@
2019-01-15 Tom de Vries <tdevries@suse.de>
PR target/80547
* testsuite/libgomp.oacc-c-c++-common/gang-reduction-var-assignment.c:
New test.
2019-01-12 Tom de Vries <tdevries@suse.de>
* testsuite/libgomp.oacc-c-c++-common/pr85486-2.c: New test.

View file

@ -0,0 +1,16 @@
/* { dg-xfail-run-if "PR88852" { openacc_host_selected } } */
int
main (void)
{
int x = 123;
#pragma acc parallel num_gangs(1) reduction (+: x)
{
x = 23;
}
if (x != 146)
__builtin_abort();
return 0;
}