aboutsummaryrefslogtreecommitdiff
path: root/gcc/omp-oacc-kernels-decompose.cc
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2022-01-19 14:04:42 +0100
committerThomas Schwinge <thomas@codesourcery.com>2022-03-04 14:20:59 +0100
commitc14ea6a72fb1ae66e3d32ac8329558497c6e4403 (patch)
tree4b59a832da02f59d19875c9f4c398b5aea169c77 /gcc/omp-oacc-kernels-decompose.cc
parente085900fa10e28b684d656b66557d181247a1a48 (diff)
downloadgcc-c14ea6a72fb1ae66e3d32ac8329558497c6e4403.zip
gcc-c14ea6a72fb1ae66e3d32ac8329558497c6e4403.tar.gz
gcc-c14ea6a72fb1ae66e3d32ac8329558497c6e4403.tar.bz2
Catch 'GIMPLE_DEBUG' misbehavior in OpenACC 'kernels' decomposition [PR100400, PR103836, PR104061]
Actually fixing it is a separate task, but it seems prudent to at least catch it, and document via a few test cases. gcc/ PR middle-end/100400 PR middle-end/103836 PR middle-end/104061 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body): Catch 'GIMPLE_DEBUG'. gcc/testsuite/ PR middle-end/100400 PR middle-end/103836 PR middle-end/104061 * c-c++-common/goacc/kernels-decompose-pr100400-1-1.c: New. * c-c++-common/goacc/kernels-decompose-pr100400-1-2.c: New. * c-c++-common/goacc/kernels-decompose-pr100400-1-3.c: New. * c-c++-common/goacc/kernels-decompose-pr100400-1-4.c: New. * c-c++-common/goacc/kernels-decompose-pr103836-1-1.c: New. * c-c++-common/goacc/kernels-decompose-pr103836-1-2.c: New. * c-c++-common/goacc/kernels-decompose-pr103836-1-3.c: New. * c-c++-common/goacc/kernels-decompose-pr103836-1-4.c: New. * c-c++-common/goacc/kernels-decompose-pr104061-1-1.c: New. * c-c++-common/goacc/kernels-decompose-pr104061-1-2.c: New. * c-c++-common/goacc/kernels-decompose-pr104061-1-3.c: New. * c-c++-common/goacc/kernels-decompose-pr104061-1-4.c: New.
Diffstat (limited to 'gcc/omp-oacc-kernels-decompose.cc')
-rw-r--r--gcc/omp-oacc-kernels-decompose.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/omp-oacc-kernels-decompose.cc b/gcc/omp-oacc-kernels-decompose.cc
index 21872db..98eafdb 100644
--- a/gcc/omp-oacc-kernels-decompose.cc
+++ b/gcc/omp-oacc-kernels-decompose.cc
@@ -1255,6 +1255,16 @@ decompose_kernels_region_body (gimple *kernels_region, tree kernels_clauses)
gsi_next (&gsi_n);
gimple *stmt = gsi_stmt (gsi);
+ if (gimple_code (stmt) == GIMPLE_DEBUG)
+ {
+ if (flag_compare_debug_opt || flag_compare_debug)
+ /* Let the usual '-fcompare-debug' analysis bail out, as
+ necessary. */
+ ;
+ else
+ sorry_at (loc, "%qs not yet supported",
+ gimple_code_name[gimple_code (stmt)]);
+ }
gimple *omp_for = top_level_omp_for_in_stmt (stmt);
bool is_unconditional_oacc_for_loop = false;
if (omp_for != NULL)