[PATCH] D157493: Revert "Revert "[Flang][Sema] Move directive sets to a shared location""

2023-08-10 Thread Sergio Afonso via Phabricator via cfe-commits
This revision was automatically updated to reflect the committed changes.
Closed by commit rGe5a524b8b5e9: Revert "Revert "[Flang][Sema] Move 
directive sets to a shared location"" (authored by skatrak).

Changed prior to commit:
  https://reviews.llvm.org/D157493?vs=548561&id=548962#toc

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D157493/new/

https://reviews.llvm.org/D157493

Files:
  clang/docs/tools/clang-formatted-files.txt
  flang/include/flang/Semantics/openmp-directive-sets.h
  flang/lib/Semantics/check-omp-structure.cpp
  flang/lib/Semantics/check-omp-structure.h
  flang/lib/Semantics/resolve-directives.cpp

Index: flang/lib/Semantics/resolve-directives.cpp
===
--- flang/lib/Semantics/resolve-directives.cpp
+++ flang/lib/Semantics/resolve-directives.cpp
@@ -1370,7 +1370,7 @@
 if (targetIt == dirContext_.rend()) {
   return;
 }
-if (llvm::omp::parallelSet.test(targetIt->directive) ||
+if (llvm::omp::allParallelSet.test(targetIt->directive) ||
 llvm::omp::taskGeneratingSet.test(targetIt->directive)) {
   break;
 }
@@ -1471,7 +1471,7 @@
 return;
   }
   Symbol::Flag ivDSA;
-  if (!llvm::omp::simdSet.test(GetContext().directive)) {
+  if (!llvm::omp::allSimdSet.test(GetContext().directive)) {
 ivDSA = Symbol::Flag::OmpPrivate;
   } else if (level == 1) {
 ivDSA = Symbol::Flag::OmpLinear;
@@ -1866,7 +1866,7 @@
   "clauses on a TARGET DATA construct"_err_en_US,
   symbol->name());
 }
-if (llvm::omp::distributeSet.test(GetContext().directive) &&
+if (llvm::omp::allDistributeSet.test(GetContext().directive) &&
 (((ompFlag == Symbol::Flag::OmpFirstPrivate) &&
  symbol->test(Symbol::Flag::OmpLastPrivate)) ||
 ((ompFlag == Symbol::Flag::OmpLastPrivate) &&
Index: flang/lib/Semantics/check-omp-structure.h
===
--- flang/lib/Semantics/check-omp-structure.h
+++ flang/lib/Semantics/check-omp-structure.h
@@ -17,12 +17,10 @@
 #include "check-directive-structure.h"
 #include "flang/Common/enum-set.h"
 #include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/openmp-directive-sets.h"
 #include "flang/Semantics/semantics.h"
 #include "llvm/Frontend/OpenMP/OMPConstants.h"
 
-using OmpDirectiveSet = Fortran::common::EnumSet;
-
 using OmpClauseSet =
 Fortran::common::EnumSet;
 
@@ -31,85 +29,6 @@
 
 namespace llvm {
 namespace omp {
-static OmpDirectiveSet parallelSet{Directive::OMPD_distribute_parallel_do,
-Directive::OMPD_distribute_parallel_do_simd, Directive::OMPD_parallel,
-Directive::OMPD_parallel_do, Directive::OMPD_parallel_do_simd,
-Directive::OMPD_parallel_sections, Directive::OMPD_parallel_workshare,
-Directive::OMPD_target_parallel, Directive::OMPD_target_parallel_do,
-Directive::OMPD_target_parallel_do_simd,
-Directive::OMPD_target_teams_distribute_parallel_do,
-Directive::OMPD_target_teams_distribute_parallel_do_simd,
-Directive::OMPD_teams_distribute_parallel_do,
-Directive::OMPD_teams_distribute_parallel_do_simd};
-static OmpDirectiveSet doSet{Directive::OMPD_distribute_parallel_do,
-Directive::OMPD_distribute_parallel_do_simd, Directive::OMPD_parallel_do,
-Directive::OMPD_parallel_do_simd, Directive::OMPD_do,
-Directive::OMPD_do_simd, Directive::OMPD_target_parallel_do,
-Directive::OMPD_target_parallel_do_simd,
-Directive::OMPD_target_teams_distribute_parallel_do,
-Directive::OMPD_target_teams_distribute_parallel_do_simd,
-Directive::OMPD_teams_distribute_parallel_do,
-Directive::OMPD_teams_distribute_parallel_do_simd};
-static OmpDirectiveSet doSimdSet{Directive::OMPD_distribute_parallel_do_simd,
-Directive::OMPD_parallel_do_simd, Directive::OMPD_do_simd,
-Directive::OMPD_target_parallel_do_simd,
-Directive::OMPD_target_teams_distribute_parallel_do_simd,
-Directive::OMPD_teams_distribute_parallel_do_simd};
-static OmpDirectiveSet workShareSet{
-OmpDirectiveSet{Directive::OMPD_workshare,
-Directive::OMPD_parallel_workshare, Directive::OMPD_parallel_sections,
-Directive::OMPD_sections, Directive::OMPD_single} |
-doSet};
-static OmpDirectiveSet taskloopSet{
-Directive::OMPD_taskloop, Directive::OMPD_taskloop_simd};
-static OmpDirectiveSet targetSet{Directive::OMPD_target,
-Directive::OMPD_target_parallel, Directive::OMPD_target_parallel_do,
-Directive::OMPD_target_parallel_do_simd, Directive::OMPD_target_simd,
-Directive::OMPD_target_teams, Directive::OMPD_target_teams_distribute,
-Directive::OMPD_target_teams_distribute_parallel_do,
-Directive::OMPD_target_teams_distribute_parallel_do_simd,
-Directive::OMPD_target_teams_distribute_simd};
-static OmpDirectiveSet simdSet{Directive::OMPD_dist

[PATCH] D157493: Revert "Revert "[Flang][Sema] Move directive sets to a shared location""

2023-08-09 Thread Kiran Chandramohan via Phabricator via cfe-commits
kiranchandramohan accepted this revision.
kiranchandramohan added a comment.
This revision is now accepted and ready to land.

LG. Please wait for the CI to pass.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D157493/new/

https://reviews.llvm.org/D157493

___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits


[PATCH] D157493: Revert "Revert "[Flang][Sema] Move directive sets to a shared location""

2023-08-09 Thread Sergio Afonso via Phabricator via cfe-commits
skatrak created this revision.
skatrak added a reviewer: kiranchandramohan.
Herald added a reviewer: sscalpone.
Herald added projects: Flang, All.
skatrak requested review of this revision.
Herald added a reviewer: jdoerfert.
Herald added subscribers: cfe-commits, jplehr, sstefan1, jdoerfert.
Herald added a project: clang.

This reverts commit f48969f90769f37e042025dba6c544eeddd6d3e6 
.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D157493

Files:
  clang/docs/tools/clang-formatted-files.txt
  flang/include/flang/Semantics/openmp-directive-sets.h
  flang/lib/Semantics/check-omp-structure.cpp
  flang/lib/Semantics/check-omp-structure.h
  flang/lib/Semantics/resolve-directives.cpp

Index: flang/lib/Semantics/resolve-directives.cpp
===
--- flang/lib/Semantics/resolve-directives.cpp
+++ flang/lib/Semantics/resolve-directives.cpp
@@ -1370,7 +1370,7 @@
 if (targetIt == dirContext_.rend()) {
   return;
 }
-if (llvm::omp::parallelSet.test(targetIt->directive) ||
+if (llvm::omp::allParallelSet.test(targetIt->directive) ||
 llvm::omp::taskGeneratingSet.test(targetIt->directive)) {
   break;
 }
@@ -1471,7 +1471,7 @@
 return;
   }
   Symbol::Flag ivDSA;
-  if (!llvm::omp::simdSet.test(GetContext().directive)) {
+  if (!llvm::omp::allSimdSet.test(GetContext().directive)) {
 ivDSA = Symbol::Flag::OmpPrivate;
   } else if (level == 1) {
 ivDSA = Symbol::Flag::OmpLinear;
Index: flang/lib/Semantics/check-omp-structure.h
===
--- flang/lib/Semantics/check-omp-structure.h
+++ flang/lib/Semantics/check-omp-structure.h
@@ -17,12 +17,10 @@
 #include "check-directive-structure.h"
 #include "flang/Common/enum-set.h"
 #include "flang/Parser/parse-tree.h"
+#include "flang/Semantics/openmp-directive-sets.h"
 #include "flang/Semantics/semantics.h"
 #include "llvm/Frontend/OpenMP/OMPConstants.h"
 
-using OmpDirectiveSet = Fortran::common::EnumSet;
-
 using OmpClauseSet =
 Fortran::common::EnumSet;
 
@@ -31,74 +29,6 @@
 
 namespace llvm {
 namespace omp {
-static OmpDirectiveSet parallelSet{Directive::OMPD_distribute_parallel_do,
-Directive::OMPD_distribute_parallel_do_simd, Directive::OMPD_parallel,
-Directive::OMPD_parallel_do, Directive::OMPD_parallel_do_simd,
-Directive::OMPD_parallel_sections, Directive::OMPD_parallel_workshare,
-Directive::OMPD_target_parallel, Directive::OMPD_target_parallel_do,
-Directive::OMPD_target_parallel_do_simd,
-Directive::OMPD_target_teams_distribute_parallel_do,
-Directive::OMPD_target_teams_distribute_parallel_do_simd,
-Directive::OMPD_teams_distribute_parallel_do,
-Directive::OMPD_teams_distribute_parallel_do_simd};
-static OmpDirectiveSet doSet{Directive::OMPD_distribute_parallel_do,
-Directive::OMPD_distribute_parallel_do_simd, Directive::OMPD_parallel_do,
-Directive::OMPD_parallel_do_simd, Directive::OMPD_do,
-Directive::OMPD_do_simd, Directive::OMPD_target_parallel_do,
-Directive::OMPD_target_parallel_do_simd,
-Directive::OMPD_target_teams_distribute_parallel_do,
-Directive::OMPD_target_teams_distribute_parallel_do_simd,
-Directive::OMPD_teams_distribute_parallel_do,
-Directive::OMPD_teams_distribute_parallel_do_simd};
-static OmpDirectiveSet doSimdSet{Directive::OMPD_distribute_parallel_do_simd,
-Directive::OMPD_parallel_do_simd, Directive::OMPD_do_simd,
-Directive::OMPD_target_parallel_do_simd,
-Directive::OMPD_target_teams_distribute_parallel_do_simd,
-Directive::OMPD_teams_distribute_parallel_do_simd};
-static OmpDirectiveSet workShareSet{
-OmpDirectiveSet{Directive::OMPD_workshare,
-Directive::OMPD_parallel_workshare, Directive::OMPD_parallel_sections,
-Directive::OMPD_sections, Directive::OMPD_single} |
-doSet};
-static OmpDirectiveSet taskloopSet{
-Directive::OMPD_taskloop, Directive::OMPD_taskloop_simd};
-static OmpDirectiveSet targetSet{Directive::OMPD_target,
-Directive::OMPD_target_parallel, Directive::OMPD_target_parallel_do,
-Directive::OMPD_target_parallel_do_simd, Directive::OMPD_target_simd,
-Directive::OMPD_target_teams, Directive::OMPD_target_teams_distribute,
-Directive::OMPD_target_teams_distribute_parallel_do,
-Directive::OMPD_target_teams_distribute_parallel_do_simd,
-Directive::OMPD_target_teams_distribute_simd};
-static OmpDirectiveSet simdSet{Directive::OMPD_distribute_parallel_do_simd,
-Directive::OMPD_distribute_simd, Directive::OMPD_do_simd,
-Directive::OMPD_parallel_do_simd, Directive::OMPD_simd,
-Directive::OMPD_target_parallel_do_simd, Directive::OMPD_target_simd,
-Directive::OMPD_target_teams_distribute_parallel_do_simd,
-Directive::OMPD_target_teams_distribute_simd, Directive::OMPD_taskloop_simd,
-Directive::OMPD_teams_distribute_parallel_do_s