]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
openmp: Handle GIMPLE_OMP_METADIRECTIVE in walk_omp_for_loops
authorFrederik Harwath <frederik@codesourcery.com>
Thu, 30 Mar 2023 14:22:07 +0000 (16:22 +0200)
committerFrederik Harwath <frederik@codesourcery.com>
Fri, 31 Mar 2023 14:54:49 +0000 (16:54 +0200)
gcc/ChangeLog:

* omp-transform-loops.cc (walk_omp_for_loops): Handle
 GIMPLE_OMP_METADIRECTIVE.

gcc/ChangeLog.omp
gcc/omp-transform-loops.cc

index 28b3990df1a6e06e5a1ad6a3b6343e2f0c05e86b..5e76158db068a8ba609c09d9774f8637e31e3501 100644 (file)
@@ -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.
index 2e136b6d086a9a926b3c1d52c39444b2ae99939f..ce8e8f3d0931ba00127267601ccde5fe4f6ace4a 100644 (file)
@@ -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;