When compiling the test-case with r268755, we run into a SIGSEGV in
oacc_entry_exit_ok_1 when trying to dereference a NULL red:
...
struct reduction_info *red;
red = reduction_phi (reduction_list, use_stmt);
tree val = PHI_RESULT (red->keep_res);
...
Fix this by handling ref == NULL.
Bootstrapped and reg-tested on x86_64.
Build and reg-tested on x86_64 with nvptx accelerator.
2019-06-16 Tom de Vries <tdevries@suse.de>
PR tree-optimization/89376
* tree-parloops.c (oacc_entry_exit_ok_1): Handle red == NULL.
* testsuite/libgomp.oacc-c-c++-common/pr89376.c: New test.
From-SVN: r272338
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| config | Loading commit data... | |
| plugin | Loading commit data... | |
| testsuite | Loading commit data... | |
| ChangeLog | Loading commit data... | |
| ChangeLog.graphite | Loading commit data... | |
| Makefile.am | Loading commit data... | |
| Makefile.in | Loading commit data... | |
| acc_prof.h | Loading commit data... | |
| acinclude.m4 | Loading commit data... | |
| aclocal.m4 | Loading commit data... | |
| affinity-fmt.c | Loading commit data... | |
| affinity.c | Loading commit data... | |
| alloc.c | Loading commit data... | |
| atomic.c | Loading commit data... | |
| barrier.c | Loading commit data... | |
| config.h.in | Loading commit data... | |
| configure | Loading commit data... | |
| configure.ac | Loading commit data... | |
| configure.tgt | Loading commit data... | |
| critical.c | Loading commit data... | |
| env.c | Loading commit data... | |
| error.c | Loading commit data... | |
| fortran.c | Loading commit data... | |
| hashtab.h | Loading commit data... | |
| icv-device.c | Loading commit data... | |
| icv.c | Loading commit data... | |
| iter.c | Loading commit data... | |
| iter_ull.c | Loading commit data... | |
| libgomp-plugin.c | Loading commit data... | |
| libgomp-plugin.h | Loading commit data... | |
| libgomp.h | Loading commit data... | |
| libgomp.map | Loading commit data... | |
| libgomp.spec.in | Loading commit data... | |
| libgomp.texi | Loading commit data... | |
| libgomp_f.h.in | Loading commit data... | |
| libgomp_g.h | Loading commit data... | |
| lock.c | Loading commit data... | |
| loop.c | Loading commit data... | |
| loop_ull.c | Loading commit data... | |
| oacc-async.c | Loading commit data... | |
| oacc-cuda.c | Loading commit data... | |
| oacc-host.c | Loading commit data... | |
| oacc-init.c | Loading commit data... | |
| oacc-int.h | Loading commit data... | |
| oacc-mem.c | Loading commit data... | |
| oacc-parallel.c | Loading commit data... | |
| oacc-plugin.c | Loading commit data... | |
| oacc-plugin.h | Loading commit data... | |
| oacc-profiling.c | Loading commit data... | |
| omp.h.in | Loading commit data... | |
| omp_lib.f90.in | Loading commit data... | |
| omp_lib.h.in | Loading commit data... | |
| openacc.f90 | Loading commit data... | |
| openacc.h | Loading commit data... | |
| openacc_lib.h | Loading commit data... | |
| ordered.c | Loading commit data... | |
| parallel.c | Loading commit data... | |
| priority_queue.c | Loading commit data... | |
| priority_queue.h | Loading commit data... | |
| sections.c | Loading commit data... | |
| secure_getenv.h | Loading commit data... | |
| single.c | Loading commit data... | |
| splay-tree.c | Loading commit data... | |
| splay-tree.h | Loading commit data... | |
| target.c | Loading commit data... | |
| task.c | Loading commit data... | |
| taskloop.c | Loading commit data... | |
| team.c | Loading commit data... | |
| teams.c | Loading commit data... | |
| work.c | Loading commit data... |