aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederik Harwath <frederik@codesourcery.com>2023-03-30 16:22:07 +0200
committerFrederik Harwath <frederik@codesourcery.com>2023-03-31 16:54:49 +0200
commit17367562f120f28639e5e17a5c5b00d673ac9fd9 (patch)
tree30c3344b68366f84bd311ac463362d38096e43e9
parentf921757f54679e2b5eb7549fb22bae73feff02cd (diff)
downloadgcc-17367562f120f28639e5e17a5c5b00d673ac9fd9.zip
gcc-17367562f120f28639e5e17a5c5b00d673ac9fd9.tar.gz
gcc-17367562f120f28639e5e17a5c5b00d673ac9fd9.tar.bz2
openmp: Handle GIMPLE_OMP_METADIRECTIVE in walk_omp_for_loops
gcc/ChangeLog: * omp-transform-loops.cc (walk_omp_for_loops): Handle GIMPLE_OMP_METADIRECTIVE.
-rw-r--r--gcc/ChangeLog.omp5
-rw-r--r--gcc/omp-transform-loops.cc15
2 files changed, 20 insertions, 0 deletions
diff --git a/gcc/ChangeLog.omp b/gcc/ChangeLog.omp
index 28b3990..5e76158 100644
--- a/gcc/ChangeLog.omp
+++ b/gcc/ChangeLog.omp
@@ -1,3 +1,8 @@
+2023-03-31 Frederik Harwath <frederik@codesourcery.com>
+
+ * omp-transform-loops.cc (walk_omp_for_loops): Handle
+ GIMPLE_OMP_METADIRECTIVE.
+
2023-03-27 Julian Brown <julian@codesourcery.com>
* omp-builtins.def (BUILT_IN_OMP_IS_INITIAL_DEVICE): New builtin.
diff --git a/gcc/omp-transform-loops.cc b/gcc/omp-transform-loops.cc
index 2e136b6..ce8e8f3 100644
--- a/gcc/omp-transform-loops.cc
+++ b/gcc/omp-transform-loops.cc
@@ -1697,6 +1697,21 @@ walk_omp_for_loops (gimple_seq *seq, walk_ctx *ctx)
break;
}
+ case GIMPLE_OMP_METADIRECTIVE:
+ {
+ gimple *variant = gimple_omp_metadirective_variants (stmt);
+
+ while (variant)
+ {
+ gbind *bind = ctx->bind;
+ walk_omp_for_loops (gimple_omp_body_ptr (variant), ctx);
+ ctx->bind = bind;
+
+ variant = variant->next;
+ }
+ }
+ break;
+
default:
gcc_assert (!gimple_has_substatements (stmt));
continue;