[PATCH] D94373: [LLVM][OpenMP] Added OMP Scheduler Constants (Required for D89671)

Chirag Khandelwal via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 9 22:49:06 PST 2021


AMDChirag created this revision.
AMDChirag added reviewers: fghanim, jdoerfert, kiranktp.
Herald added subscribers: guansong, yaxunl.
AMDChirag requested review of this revision.
Herald added subscribers: llvm-commits, sstefan1.
Herald added a project: LLVM.

Contains the required OMP Scheduler Type Constants.
Required by D89671 <https://reviews.llvm.org/D89671>, but created as a separate differential.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D94373

Files:
  llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
  llvm/include/llvm/Frontend/OpenMP/OMPKinds.def


Index: llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
===================================================================
--- llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
+++ llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
@@ -941,6 +941,52 @@
 
 ///}
 
+/// OMP Scheduler Type Kinds
+///
+/// Source:
+/// openmp/runtime/src/kmp.h - enum sched_type
+///{
+
+#ifndef OMP_SCHED_TYPE
+#define OMP_SCHED_TYPE(Enum, Str, Value)
+#endif
+
+#define __OMP_SCHED_TYPE(Name, Value)                                          \
+  OMP_SCHED_TYPE(OMP_SCHED_TYPE_##Name, #Name, Value)
+
+/// Lower bound for default (unordered) versions.
+__OMP_SCHED_TYPE(SCH_LOWER, 32)
+__OMP_SCHED_TYPE(SCH_STATIC_CHUNKED, 33)
+__OMP_SCHED_TYPE(SCH_STATIC, 34)
+__OMP_SCHED_TYPE(SCH_DYNAMIC_CHUNKED, 35)
+__OMP_SCHED_TYPE(SCH_GUIDED_CHUNKED, 36)
+__OMP_SCHED_TYPE(SCH_RUNTIME, 37)
+__OMP_SCHED_TYPE(SCH_AUTO, 38)
+/// static with chunk adjustment (e.g., simd)
+__OMP_SCHED_TYPE(SCH_STATIC_BALANCED_CHUNKED, 45)
+/// Lower bound for 'ordered' versions.
+__OMP_SCHED_TYPE(ORD_LOWER, 64)
+__OMP_SCHED_TYPE(ORD_STATIC_CHUNKED, 65)
+__OMP_SCHED_TYPE(ORD_STATIC, 66)
+__OMP_SCHED_TYPE(ORD_DYNAMIC_CHUNKED, 67)
+__OMP_SCHED_TYPE(ORD_GUIDED_CHUNKED, 68)
+__OMP_SCHED_TYPE(ORD_RUNTIME, 69)
+__OMP_SCHED_TYPE(ORD_AUTO, 70)
+__OMP_SCHED_TYPE(SCH_DEFAULT, 34) // = SCH_STATIC
+/// dist_schedule types
+__OMP_SCHED_TYPE(DIST_SCH_STATIC_CHUNKED, 91)
+__OMP_SCHED_TYPE(DIST_SCH_STATIC, 92)
+/// Support for OpenMP 4.5 monotonic and nonmonotonic schedule modifiers.
+/// Set if the monotonic schedule modifier was present.
+__OMP_SCHED_TYPE(SCH_MODIFIER_MONOTONIC, 1 << 29)
+/// Set if the nonmonotonic schedule modifier was present.
+__OMP_SCHED_TYPE(SCH_MODIFIER_NONMONOTONIC, 1 << 30)
+
+#undef __OMP_SCHED_TYPE
+#undef OMP_SCHED_TYPE
+
+///}
+
 /// Proc bind kinds
 ///
 ///{
Index: llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
===================================================================
--- llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
+++ llvm/include/llvm/Frontend/OpenMP/OMPConstants.h
@@ -80,6 +80,11 @@
 #define OMP_IDENT_FLAG(Enum, ...) constexpr auto Enum = omp::IdentFlag::Enum;
 #include "llvm/Frontend/OpenMP/OMPKinds.def"
 
+enum class SchedType {
+#define OMP_SCHED_TYPE(Enum, Str, Value) Enum = Value,
+#include "llvm/Frontend/OpenMP/OMPKinds.def"
+};
+
 /// Helper to describe assume clauses.
 struct AssumptionClauseMappingInfo {
   /// The identifier describing the (beginning of the) clause.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D94373.315653.patch
Type: text/x-patch
Size: 2487 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210110/50fae133/attachment.bin>


More information about the llvm-commits mailing list