Warning, /include/llvm/Frontend/OpenMP/OMP.h.inc is written in an unsupported language. File is not indexed.
0001 #ifndef LLVM_OpenMP_INC
0002 #define LLVM_OpenMP_INC
0003
0004 #include "llvm/ADT/ArrayRef.h"
0005 #include "llvm/ADT/BitmaskEnum.h"
0006 #include "llvm/Support/Compiler.h"
0007 #include <cstddef>
0008
0009 namespace llvm {
0010 class StringRef;
0011 namespace omp {
0012
0013 LLVM_ENABLE_BITMASK_ENUMS_IN_NAMESPACE();
0014
0015 enum class Association {
0016 Block,
0017 Declaration,
0018 Delimited,
0019 Loop,
0020 None,
0021 Separating,
0022 };
0023
0024 static constexpr std::size_t Association_enumSize = 6;
0025
0026 enum class Category {
0027 Declarative,
0028 Executable,
0029 Informational,
0030 Meta,
0031 Subsidiary,
0032 Utility,
0033 };
0034
0035 static constexpr std::size_t Category_enumSize = 6;
0036
0037 enum class Directive {
0038 OMPD_allocate,
0039 OMPD_allocators,
0040 OMPD_assume,
0041 OMPD_assumes,
0042 OMPD_atomic,
0043 OMPD_barrier,
0044 OMPD_begin_assumes,
0045 OMPD_begin_declare_target,
0046 OMPD_begin_declare_variant,
0047 OMPD_cancel,
0048 OMPD_cancellation_point,
0049 OMPD_critical,
0050 OMPD_declare_mapper,
0051 OMPD_declare_reduction,
0052 OMPD_declare_simd,
0053 OMPD_declare_target,
0054 OMPD_declare_variant,
0055 OMPD_depobj,
0056 OMPD_distribute,
0057 OMPD_distribute_parallel_do,
0058 OMPD_distribute_parallel_do_simd,
0059 OMPD_distribute_parallel_for,
0060 OMPD_distribute_parallel_for_simd,
0061 OMPD_distribute_simd,
0062 OMPD_do,
0063 OMPD_do_simd,
0064 OMPD_end_assumes,
0065 OMPD_end_declare_target,
0066 OMPD_end_declare_variant,
0067 OMPD_end_do,
0068 OMPD_end_do_simd,
0069 OMPD_end_scope,
0070 OMPD_end_sections,
0071 OMPD_end_single,
0072 OMPD_end_workshare,
0073 OMPD_error,
0074 OMPD_flush,
0075 OMPD_for,
0076 OMPD_for_simd,
0077 OMPD_interchange,
0078 OMPD_masked_taskloop,
0079 OMPD_masked_taskloop_simd,
0080 OMPD_master,
0081 OMPD_master_taskloop,
0082 OMPD_master_taskloop_simd,
0083 OMPD_metadirective,
0084 OMPD_nothing,
0085 OMPD_ordered,
0086 OMPD_parallel,
0087 OMPD_parallel_do,
0088 OMPD_parallel_do_simd,
0089 OMPD_parallel_for,
0090 OMPD_parallel_for_simd,
0091 OMPD_parallel_masked,
0092 OMPD_parallel_masked_taskloop,
0093 OMPD_parallel_masked_taskloop_simd,
0094 OMPD_parallel_master,
0095 OMPD_parallel_master_taskloop,
0096 OMPD_parallel_master_taskloop_simd,
0097 OMPD_parallel_sections,
0098 OMPD_parallel_workshare,
0099 OMPD_requires,
0100 OMPD_reverse,
0101 OMPD_scan,
0102 OMPD_scope,
0103 OMPD_section,
0104 OMPD_sections,
0105 OMPD_simd,
0106 OMPD_single,
0107 OMPD_target,
0108 OMPD_target_data,
0109 OMPD_target_enter_data,
0110 OMPD_target_exit_data,
0111 OMPD_target_parallel,
0112 OMPD_target_parallel_do,
0113 OMPD_target_parallel_do_simd,
0114 OMPD_target_parallel_for,
0115 OMPD_target_parallel_for_simd,
0116 OMPD_target_simd,
0117 OMPD_target_teams,
0118 OMPD_target_teams_distribute,
0119 OMPD_target_teams_distribute_parallel_do,
0120 OMPD_target_teams_distribute_parallel_do_simd,
0121 OMPD_target_teams_distribute_parallel_for,
0122 OMPD_target_teams_distribute_parallel_for_simd,
0123 OMPD_target_teams_distribute_simd,
0124 OMPD_target_update,
0125 OMPD_task,
0126 OMPD_taskgroup,
0127 OMPD_taskloop,
0128 OMPD_taskloop_simd,
0129 OMPD_taskwait,
0130 OMPD_taskyield,
0131 OMPD_teams,
0132 OMPD_teams_distribute,
0133 OMPD_teams_distribute_parallel_do,
0134 OMPD_teams_distribute_parallel_do_simd,
0135 OMPD_teams_distribute_parallel_for,
0136 OMPD_teams_distribute_parallel_for_simd,
0137 OMPD_teams_distribute_simd,
0138 OMPD_threadprivate,
0139 OMPD_tile,
0140 OMPD_unknown,
0141 OMPD_unroll,
0142 OMPD_workshare,
0143 OMPD_dispatch,
0144 OMPD_interop,
0145 OMPD_loop,
0146 OMPD_masked,
0147 OMPD_parallel_loop,
0148 OMPD_target_loop,
0149 OMPD_target_parallel_loop,
0150 OMPD_target_teams_loop,
0151 OMPD_teams_loop,
0152 };
0153
0154 static constexpr std::size_t Directive_enumSize = 114;
0155
0156 constexpr auto OMPD_allocate = llvm::omp::Directive::OMPD_allocate;
0157 constexpr auto OMPD_allocators = llvm::omp::Directive::OMPD_allocators;
0158 constexpr auto OMPD_assume = llvm::omp::Directive::OMPD_assume;
0159 constexpr auto OMPD_assumes = llvm::omp::Directive::OMPD_assumes;
0160 constexpr auto OMPD_atomic = llvm::omp::Directive::OMPD_atomic;
0161 constexpr auto OMPD_barrier = llvm::omp::Directive::OMPD_barrier;
0162 constexpr auto OMPD_begin_assumes = llvm::omp::Directive::OMPD_begin_assumes;
0163 constexpr auto OMPD_begin_declare_target = llvm::omp::Directive::OMPD_begin_declare_target;
0164 constexpr auto OMPD_begin_declare_variant = llvm::omp::Directive::OMPD_begin_declare_variant;
0165 constexpr auto OMPD_cancel = llvm::omp::Directive::OMPD_cancel;
0166 constexpr auto OMPD_cancellation_point = llvm::omp::Directive::OMPD_cancellation_point;
0167 constexpr auto OMPD_critical = llvm::omp::Directive::OMPD_critical;
0168 constexpr auto OMPD_declare_mapper = llvm::omp::Directive::OMPD_declare_mapper;
0169 constexpr auto OMPD_declare_reduction = llvm::omp::Directive::OMPD_declare_reduction;
0170 constexpr auto OMPD_declare_simd = llvm::omp::Directive::OMPD_declare_simd;
0171 constexpr auto OMPD_declare_target = llvm::omp::Directive::OMPD_declare_target;
0172 constexpr auto OMPD_declare_variant = llvm::omp::Directive::OMPD_declare_variant;
0173 constexpr auto OMPD_depobj = llvm::omp::Directive::OMPD_depobj;
0174 constexpr auto OMPD_distribute = llvm::omp::Directive::OMPD_distribute;
0175 constexpr auto OMPD_distribute_parallel_do = llvm::omp::Directive::OMPD_distribute_parallel_do;
0176 constexpr auto OMPD_distribute_parallel_do_simd = llvm::omp::Directive::OMPD_distribute_parallel_do_simd;
0177 constexpr auto OMPD_distribute_parallel_for = llvm::omp::Directive::OMPD_distribute_parallel_for;
0178 constexpr auto OMPD_distribute_parallel_for_simd = llvm::omp::Directive::OMPD_distribute_parallel_for_simd;
0179 constexpr auto OMPD_distribute_simd = llvm::omp::Directive::OMPD_distribute_simd;
0180 constexpr auto OMPD_do = llvm::omp::Directive::OMPD_do;
0181 constexpr auto OMPD_do_simd = llvm::omp::Directive::OMPD_do_simd;
0182 constexpr auto OMPD_end_assumes = llvm::omp::Directive::OMPD_end_assumes;
0183 constexpr auto OMPD_end_declare_target = llvm::omp::Directive::OMPD_end_declare_target;
0184 constexpr auto OMPD_end_declare_variant = llvm::omp::Directive::OMPD_end_declare_variant;
0185 constexpr auto OMPD_end_do = llvm::omp::Directive::OMPD_end_do;
0186 constexpr auto OMPD_end_do_simd = llvm::omp::Directive::OMPD_end_do_simd;
0187 constexpr auto OMPD_end_scope = llvm::omp::Directive::OMPD_end_scope;
0188 constexpr auto OMPD_end_sections = llvm::omp::Directive::OMPD_end_sections;
0189 constexpr auto OMPD_end_single = llvm::omp::Directive::OMPD_end_single;
0190 constexpr auto OMPD_end_workshare = llvm::omp::Directive::OMPD_end_workshare;
0191 constexpr auto OMPD_error = llvm::omp::Directive::OMPD_error;
0192 constexpr auto OMPD_flush = llvm::omp::Directive::OMPD_flush;
0193 constexpr auto OMPD_for = llvm::omp::Directive::OMPD_for;
0194 constexpr auto OMPD_for_simd = llvm::omp::Directive::OMPD_for_simd;
0195 constexpr auto OMPD_interchange = llvm::omp::Directive::OMPD_interchange;
0196 constexpr auto OMPD_masked_taskloop = llvm::omp::Directive::OMPD_masked_taskloop;
0197 constexpr auto OMPD_masked_taskloop_simd = llvm::omp::Directive::OMPD_masked_taskloop_simd;
0198 constexpr auto OMPD_master = llvm::omp::Directive::OMPD_master;
0199 constexpr auto OMPD_master_taskloop = llvm::omp::Directive::OMPD_master_taskloop;
0200 constexpr auto OMPD_master_taskloop_simd = llvm::omp::Directive::OMPD_master_taskloop_simd;
0201 constexpr auto OMPD_metadirective = llvm::omp::Directive::OMPD_metadirective;
0202 constexpr auto OMPD_nothing = llvm::omp::Directive::OMPD_nothing;
0203 constexpr auto OMPD_ordered = llvm::omp::Directive::OMPD_ordered;
0204 constexpr auto OMPD_parallel = llvm::omp::Directive::OMPD_parallel;
0205 constexpr auto OMPD_parallel_do = llvm::omp::Directive::OMPD_parallel_do;
0206 constexpr auto OMPD_parallel_do_simd = llvm::omp::Directive::OMPD_parallel_do_simd;
0207 constexpr auto OMPD_parallel_for = llvm::omp::Directive::OMPD_parallel_for;
0208 constexpr auto OMPD_parallel_for_simd = llvm::omp::Directive::OMPD_parallel_for_simd;
0209 constexpr auto OMPD_parallel_masked = llvm::omp::Directive::OMPD_parallel_masked;
0210 constexpr auto OMPD_parallel_masked_taskloop = llvm::omp::Directive::OMPD_parallel_masked_taskloop;
0211 constexpr auto OMPD_parallel_masked_taskloop_simd = llvm::omp::Directive::OMPD_parallel_masked_taskloop_simd;
0212 constexpr auto OMPD_parallel_master = llvm::omp::Directive::OMPD_parallel_master;
0213 constexpr auto OMPD_parallel_master_taskloop = llvm::omp::Directive::OMPD_parallel_master_taskloop;
0214 constexpr auto OMPD_parallel_master_taskloop_simd = llvm::omp::Directive::OMPD_parallel_master_taskloop_simd;
0215 constexpr auto OMPD_parallel_sections = llvm::omp::Directive::OMPD_parallel_sections;
0216 constexpr auto OMPD_parallel_workshare = llvm::omp::Directive::OMPD_parallel_workshare;
0217 constexpr auto OMPD_requires = llvm::omp::Directive::OMPD_requires;
0218 constexpr auto OMPD_reverse = llvm::omp::Directive::OMPD_reverse;
0219 constexpr auto OMPD_scan = llvm::omp::Directive::OMPD_scan;
0220 constexpr auto OMPD_scope = llvm::omp::Directive::OMPD_scope;
0221 constexpr auto OMPD_section = llvm::omp::Directive::OMPD_section;
0222 constexpr auto OMPD_sections = llvm::omp::Directive::OMPD_sections;
0223 constexpr auto OMPD_simd = llvm::omp::Directive::OMPD_simd;
0224 constexpr auto OMPD_single = llvm::omp::Directive::OMPD_single;
0225 constexpr auto OMPD_target = llvm::omp::Directive::OMPD_target;
0226 constexpr auto OMPD_target_data = llvm::omp::Directive::OMPD_target_data;
0227 constexpr auto OMPD_target_enter_data = llvm::omp::Directive::OMPD_target_enter_data;
0228 constexpr auto OMPD_target_exit_data = llvm::omp::Directive::OMPD_target_exit_data;
0229 constexpr auto OMPD_target_parallel = llvm::omp::Directive::OMPD_target_parallel;
0230 constexpr auto OMPD_target_parallel_do = llvm::omp::Directive::OMPD_target_parallel_do;
0231 constexpr auto OMPD_target_parallel_do_simd = llvm::omp::Directive::OMPD_target_parallel_do_simd;
0232 constexpr auto OMPD_target_parallel_for = llvm::omp::Directive::OMPD_target_parallel_for;
0233 constexpr auto OMPD_target_parallel_for_simd = llvm::omp::Directive::OMPD_target_parallel_for_simd;
0234 constexpr auto OMPD_target_simd = llvm::omp::Directive::OMPD_target_simd;
0235 constexpr auto OMPD_target_teams = llvm::omp::Directive::OMPD_target_teams;
0236 constexpr auto OMPD_target_teams_distribute = llvm::omp::Directive::OMPD_target_teams_distribute;
0237 constexpr auto OMPD_target_teams_distribute_parallel_do = llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do;
0238 constexpr auto OMPD_target_teams_distribute_parallel_do_simd = llvm::omp::Directive::OMPD_target_teams_distribute_parallel_do_simd;
0239 constexpr auto OMPD_target_teams_distribute_parallel_for = llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for;
0240 constexpr auto OMPD_target_teams_distribute_parallel_for_simd = llvm::omp::Directive::OMPD_target_teams_distribute_parallel_for_simd;
0241 constexpr auto OMPD_target_teams_distribute_simd = llvm::omp::Directive::OMPD_target_teams_distribute_simd;
0242 constexpr auto OMPD_target_update = llvm::omp::Directive::OMPD_target_update;
0243 constexpr auto OMPD_task = llvm::omp::Directive::OMPD_task;
0244 constexpr auto OMPD_taskgroup = llvm::omp::Directive::OMPD_taskgroup;
0245 constexpr auto OMPD_taskloop = llvm::omp::Directive::OMPD_taskloop;
0246 constexpr auto OMPD_taskloop_simd = llvm::omp::Directive::OMPD_taskloop_simd;
0247 constexpr auto OMPD_taskwait = llvm::omp::Directive::OMPD_taskwait;
0248 constexpr auto OMPD_taskyield = llvm::omp::Directive::OMPD_taskyield;
0249 constexpr auto OMPD_teams = llvm::omp::Directive::OMPD_teams;
0250 constexpr auto OMPD_teams_distribute = llvm::omp::Directive::OMPD_teams_distribute;
0251 constexpr auto OMPD_teams_distribute_parallel_do = llvm::omp::Directive::OMPD_teams_distribute_parallel_do;
0252 constexpr auto OMPD_teams_distribute_parallel_do_simd = llvm::omp::Directive::OMPD_teams_distribute_parallel_do_simd;
0253 constexpr auto OMPD_teams_distribute_parallel_for = llvm::omp::Directive::OMPD_teams_distribute_parallel_for;
0254 constexpr auto OMPD_teams_distribute_parallel_for_simd = llvm::omp::Directive::OMPD_teams_distribute_parallel_for_simd;
0255 constexpr auto OMPD_teams_distribute_simd = llvm::omp::Directive::OMPD_teams_distribute_simd;
0256 constexpr auto OMPD_threadprivate = llvm::omp::Directive::OMPD_threadprivate;
0257 constexpr auto OMPD_tile = llvm::omp::Directive::OMPD_tile;
0258 constexpr auto OMPD_unknown = llvm::omp::Directive::OMPD_unknown;
0259 constexpr auto OMPD_unroll = llvm::omp::Directive::OMPD_unroll;
0260 constexpr auto OMPD_workshare = llvm::omp::Directive::OMPD_workshare;
0261 constexpr auto OMPD_dispatch = llvm::omp::Directive::OMPD_dispatch;
0262 constexpr auto OMPD_interop = llvm::omp::Directive::OMPD_interop;
0263 constexpr auto OMPD_loop = llvm::omp::Directive::OMPD_loop;
0264 constexpr auto OMPD_masked = llvm::omp::Directive::OMPD_masked;
0265 constexpr auto OMPD_parallel_loop = llvm::omp::Directive::OMPD_parallel_loop;
0266 constexpr auto OMPD_target_loop = llvm::omp::Directive::OMPD_target_loop;
0267 constexpr auto OMPD_target_parallel_loop = llvm::omp::Directive::OMPD_target_parallel_loop;
0268 constexpr auto OMPD_target_teams_loop = llvm::omp::Directive::OMPD_target_teams_loop;
0269 constexpr auto OMPD_teams_loop = llvm::omp::Directive::OMPD_teams_loop;
0270
0271 enum class Clause {
0272 OMPC_absent,
0273 OMPC_acq_rel,
0274 OMPC_acquire,
0275 OMPC_adjust_args,
0276 OMPC_affinity,
0277 OMPC_align,
0278 OMPC_aligned,
0279 OMPC_allocate,
0280 OMPC_allocator,
0281 OMPC_append_args,
0282 OMPC_at,
0283 OMPC_atomic_default_mem_order,
0284 OMPC_bind,
0285 OMPC_cancellation_construct_type,
0286 OMPC_capture,
0287 OMPC_collapse,
0288 OMPC_compare,
0289 OMPC_contains,
0290 OMPC_copyprivate,
0291 OMPC_copyin,
0292 OMPC_default,
0293 OMPC_defaultmap,
0294 OMPC_depend,
0295 OMPC_depobj,
0296 OMPC_destroy,
0297 OMPC_detach,
0298 OMPC_device,
0299 OMPC_device_type,
0300 OMPC_dist_schedule,
0301 OMPC_doacross,
0302 OMPC_dynamic_allocators,
0303 OMPC_enter,
0304 OMPC_exclusive,
0305 OMPC_fail,
0306 OMPC_filter,
0307 OMPC_final,
0308 OMPC_firstprivate,
0309 OMPC_flush,
0310 OMPC_from,
0311 OMPC_full,
0312 OMPC_grainsize,
0313 OMPC_has_device_addr,
0314 OMPC_hint,
0315 OMPC_holds,
0316 OMPC_if,
0317 OMPC_in_reduction,
0318 OMPC_inbranch,
0319 OMPC_inclusive,
0320 OMPC_indirect,
0321 OMPC_init,
0322 OMPC_is_device_ptr,
0323 OMPC_lastprivate,
0324 OMPC_linear,
0325 OMPC_link,
0326 OMPC_map,
0327 OMPC_match,
0328 OMPC_memory_order,
0329 OMPC_mergeable,
0330 OMPC_message,
0331 OMPC_nogroup,
0332 OMPC_no_openmp,
0333 OMPC_no_openmp_routines,
0334 OMPC_no_parallelism,
0335 OMPC_nowait,
0336 OMPC_nocontext,
0337 OMPC_nontemporal,
0338 OMPC_notinbranch,
0339 OMPC_novariants,
0340 OMPC_num_tasks,
0341 OMPC_num_teams,
0342 OMPC_num_threads,
0343 OMPC_ompx_attribute,
0344 OMPC_ompx_bare,
0345 OMPC_ompx_dyn_cgroup_mem,
0346 OMPC_order,
0347 OMPC_ordered,
0348 OMPC_partial,
0349 OMPC_permutation,
0350 OMPC_priority,
0351 OMPC_private,
0352 OMPC_proc_bind,
0353 OMPC_read,
0354 OMPC_reduction,
0355 OMPC_relaxed,
0356 OMPC_release,
0357 OMPC_reverse_offload,
0358 OMPC_safelen,
0359 OMPC_schedule,
0360 OMPC_seq_cst,
0361 OMPC_severity,
0362 OMPC_shared,
0363 OMPC_simd,
0364 OMPC_simdlen,
0365 OMPC_sizes,
0366 OMPC_task_reduction,
0367 OMPC_thread_limit,
0368 OMPC_threadprivate,
0369 OMPC_threads,
0370 OMPC_to,
0371 OMPC_unified_address,
0372 OMPC_unified_shared_memory,
0373 OMPC_uniform,
0374 OMPC_unknown,
0375 OMPC_untied,
0376 OMPC_update,
0377 OMPC_use,
0378 OMPC_use_device_addr,
0379 OMPC_use_device_ptr,
0380 OMPC_uses_allocators,
0381 OMPC_weak,
0382 OMPC_when,
0383 OMPC_write,
0384 };
0385
0386 static constexpr std::size_t Clause_enumSize = 112;
0387
0388 constexpr auto OMPC_absent = llvm::omp::Clause::OMPC_absent;
0389 constexpr auto OMPC_acq_rel = llvm::omp::Clause::OMPC_acq_rel;
0390 constexpr auto OMPC_acquire = llvm::omp::Clause::OMPC_acquire;
0391 constexpr auto OMPC_adjust_args = llvm::omp::Clause::OMPC_adjust_args;
0392 constexpr auto OMPC_affinity = llvm::omp::Clause::OMPC_affinity;
0393 constexpr auto OMPC_align = llvm::omp::Clause::OMPC_align;
0394 constexpr auto OMPC_aligned = llvm::omp::Clause::OMPC_aligned;
0395 constexpr auto OMPC_allocate = llvm::omp::Clause::OMPC_allocate;
0396 constexpr auto OMPC_allocator = llvm::omp::Clause::OMPC_allocator;
0397 constexpr auto OMPC_append_args = llvm::omp::Clause::OMPC_append_args;
0398 constexpr auto OMPC_at = llvm::omp::Clause::OMPC_at;
0399 constexpr auto OMPC_atomic_default_mem_order = llvm::omp::Clause::OMPC_atomic_default_mem_order;
0400 constexpr auto OMPC_bind = llvm::omp::Clause::OMPC_bind;
0401 constexpr auto OMPC_cancellation_construct_type = llvm::omp::Clause::OMPC_cancellation_construct_type;
0402 constexpr auto OMPC_capture = llvm::omp::Clause::OMPC_capture;
0403 constexpr auto OMPC_collapse = llvm::omp::Clause::OMPC_collapse;
0404 constexpr auto OMPC_compare = llvm::omp::Clause::OMPC_compare;
0405 constexpr auto OMPC_contains = llvm::omp::Clause::OMPC_contains;
0406 constexpr auto OMPC_copyprivate = llvm::omp::Clause::OMPC_copyprivate;
0407 constexpr auto OMPC_copyin = llvm::omp::Clause::OMPC_copyin;
0408 constexpr auto OMPC_default = llvm::omp::Clause::OMPC_default;
0409 constexpr auto OMPC_defaultmap = llvm::omp::Clause::OMPC_defaultmap;
0410 constexpr auto OMPC_depend = llvm::omp::Clause::OMPC_depend;
0411 constexpr auto OMPC_depobj = llvm::omp::Clause::OMPC_depobj;
0412 constexpr auto OMPC_destroy = llvm::omp::Clause::OMPC_destroy;
0413 constexpr auto OMPC_detach = llvm::omp::Clause::OMPC_detach;
0414 constexpr auto OMPC_device = llvm::omp::Clause::OMPC_device;
0415 constexpr auto OMPC_device_type = llvm::omp::Clause::OMPC_device_type;
0416 constexpr auto OMPC_dist_schedule = llvm::omp::Clause::OMPC_dist_schedule;
0417 constexpr auto OMPC_doacross = llvm::omp::Clause::OMPC_doacross;
0418 constexpr auto OMPC_dynamic_allocators = llvm::omp::Clause::OMPC_dynamic_allocators;
0419 constexpr auto OMPC_enter = llvm::omp::Clause::OMPC_enter;
0420 constexpr auto OMPC_exclusive = llvm::omp::Clause::OMPC_exclusive;
0421 constexpr auto OMPC_fail = llvm::omp::Clause::OMPC_fail;
0422 constexpr auto OMPC_filter = llvm::omp::Clause::OMPC_filter;
0423 constexpr auto OMPC_final = llvm::omp::Clause::OMPC_final;
0424 constexpr auto OMPC_firstprivate = llvm::omp::Clause::OMPC_firstprivate;
0425 constexpr auto OMPC_flush = llvm::omp::Clause::OMPC_flush;
0426 constexpr auto OMPC_from = llvm::omp::Clause::OMPC_from;
0427 constexpr auto OMPC_full = llvm::omp::Clause::OMPC_full;
0428 constexpr auto OMPC_grainsize = llvm::omp::Clause::OMPC_grainsize;
0429 constexpr auto OMPC_has_device_addr = llvm::omp::Clause::OMPC_has_device_addr;
0430 constexpr auto OMPC_hint = llvm::omp::Clause::OMPC_hint;
0431 constexpr auto OMPC_holds = llvm::omp::Clause::OMPC_holds;
0432 constexpr auto OMPC_if = llvm::omp::Clause::OMPC_if;
0433 constexpr auto OMPC_in_reduction = llvm::omp::Clause::OMPC_in_reduction;
0434 constexpr auto OMPC_inbranch = llvm::omp::Clause::OMPC_inbranch;
0435 constexpr auto OMPC_inclusive = llvm::omp::Clause::OMPC_inclusive;
0436 constexpr auto OMPC_indirect = llvm::omp::Clause::OMPC_indirect;
0437 constexpr auto OMPC_init = llvm::omp::Clause::OMPC_init;
0438 constexpr auto OMPC_is_device_ptr = llvm::omp::Clause::OMPC_is_device_ptr;
0439 constexpr auto OMPC_lastprivate = llvm::omp::Clause::OMPC_lastprivate;
0440 constexpr auto OMPC_linear = llvm::omp::Clause::OMPC_linear;
0441 constexpr auto OMPC_link = llvm::omp::Clause::OMPC_link;
0442 constexpr auto OMPC_map = llvm::omp::Clause::OMPC_map;
0443 constexpr auto OMPC_match = llvm::omp::Clause::OMPC_match;
0444 constexpr auto OMPC_memory_order = llvm::omp::Clause::OMPC_memory_order;
0445 constexpr auto OMPC_mergeable = llvm::omp::Clause::OMPC_mergeable;
0446 constexpr auto OMPC_message = llvm::omp::Clause::OMPC_message;
0447 constexpr auto OMPC_nogroup = llvm::omp::Clause::OMPC_nogroup;
0448 constexpr auto OMPC_no_openmp = llvm::omp::Clause::OMPC_no_openmp;
0449 constexpr auto OMPC_no_openmp_routines = llvm::omp::Clause::OMPC_no_openmp_routines;
0450 constexpr auto OMPC_no_parallelism = llvm::omp::Clause::OMPC_no_parallelism;
0451 constexpr auto OMPC_nowait = llvm::omp::Clause::OMPC_nowait;
0452 constexpr auto OMPC_nocontext = llvm::omp::Clause::OMPC_nocontext;
0453 constexpr auto OMPC_nontemporal = llvm::omp::Clause::OMPC_nontemporal;
0454 constexpr auto OMPC_notinbranch = llvm::omp::Clause::OMPC_notinbranch;
0455 constexpr auto OMPC_novariants = llvm::omp::Clause::OMPC_novariants;
0456 constexpr auto OMPC_num_tasks = llvm::omp::Clause::OMPC_num_tasks;
0457 constexpr auto OMPC_num_teams = llvm::omp::Clause::OMPC_num_teams;
0458 constexpr auto OMPC_num_threads = llvm::omp::Clause::OMPC_num_threads;
0459 constexpr auto OMPC_ompx_attribute = llvm::omp::Clause::OMPC_ompx_attribute;
0460 constexpr auto OMPC_ompx_bare = llvm::omp::Clause::OMPC_ompx_bare;
0461 constexpr auto OMPC_ompx_dyn_cgroup_mem = llvm::omp::Clause::OMPC_ompx_dyn_cgroup_mem;
0462 constexpr auto OMPC_order = llvm::omp::Clause::OMPC_order;
0463 constexpr auto OMPC_ordered = llvm::omp::Clause::OMPC_ordered;
0464 constexpr auto OMPC_partial = llvm::omp::Clause::OMPC_partial;
0465 constexpr auto OMPC_permutation = llvm::omp::Clause::OMPC_permutation;
0466 constexpr auto OMPC_priority = llvm::omp::Clause::OMPC_priority;
0467 constexpr auto OMPC_private = llvm::omp::Clause::OMPC_private;
0468 constexpr auto OMPC_proc_bind = llvm::omp::Clause::OMPC_proc_bind;
0469 constexpr auto OMPC_read = llvm::omp::Clause::OMPC_read;
0470 constexpr auto OMPC_reduction = llvm::omp::Clause::OMPC_reduction;
0471 constexpr auto OMPC_relaxed = llvm::omp::Clause::OMPC_relaxed;
0472 constexpr auto OMPC_release = llvm::omp::Clause::OMPC_release;
0473 constexpr auto OMPC_reverse_offload = llvm::omp::Clause::OMPC_reverse_offload;
0474 constexpr auto OMPC_safelen = llvm::omp::Clause::OMPC_safelen;
0475 constexpr auto OMPC_schedule = llvm::omp::Clause::OMPC_schedule;
0476 constexpr auto OMPC_seq_cst = llvm::omp::Clause::OMPC_seq_cst;
0477 constexpr auto OMPC_severity = llvm::omp::Clause::OMPC_severity;
0478 constexpr auto OMPC_shared = llvm::omp::Clause::OMPC_shared;
0479 constexpr auto OMPC_simd = llvm::omp::Clause::OMPC_simd;
0480 constexpr auto OMPC_simdlen = llvm::omp::Clause::OMPC_simdlen;
0481 constexpr auto OMPC_sizes = llvm::omp::Clause::OMPC_sizes;
0482 constexpr auto OMPC_task_reduction = llvm::omp::Clause::OMPC_task_reduction;
0483 constexpr auto OMPC_thread_limit = llvm::omp::Clause::OMPC_thread_limit;
0484 constexpr auto OMPC_threadprivate = llvm::omp::Clause::OMPC_threadprivate;
0485 constexpr auto OMPC_threads = llvm::omp::Clause::OMPC_threads;
0486 constexpr auto OMPC_to = llvm::omp::Clause::OMPC_to;
0487 constexpr auto OMPC_unified_address = llvm::omp::Clause::OMPC_unified_address;
0488 constexpr auto OMPC_unified_shared_memory = llvm::omp::Clause::OMPC_unified_shared_memory;
0489 constexpr auto OMPC_uniform = llvm::omp::Clause::OMPC_uniform;
0490 constexpr auto OMPC_unknown = llvm::omp::Clause::OMPC_unknown;
0491 constexpr auto OMPC_untied = llvm::omp::Clause::OMPC_untied;
0492 constexpr auto OMPC_update = llvm::omp::Clause::OMPC_update;
0493 constexpr auto OMPC_use = llvm::omp::Clause::OMPC_use;
0494 constexpr auto OMPC_use_device_addr = llvm::omp::Clause::OMPC_use_device_addr;
0495 constexpr auto OMPC_use_device_ptr = llvm::omp::Clause::OMPC_use_device_ptr;
0496 constexpr auto OMPC_uses_allocators = llvm::omp::Clause::OMPC_uses_allocators;
0497 constexpr auto OMPC_weak = llvm::omp::Clause::OMPC_weak;
0498 constexpr auto OMPC_when = llvm::omp::Clause::OMPC_when;
0499 constexpr auto OMPC_write = llvm::omp::Clause::OMPC_write;
0500
0501 enum class BindKind {
0502 OMP_BIND_parallel=1,
0503 OMP_BIND_teams=2,
0504 OMP_BIND_thread=3,
0505 };
0506
0507 constexpr auto OMP_BIND_parallel = llvm::omp::BindKind::OMP_BIND_parallel;
0508 constexpr auto OMP_BIND_teams = llvm::omp::BindKind::OMP_BIND_teams;
0509 constexpr auto OMP_BIND_thread = llvm::omp::BindKind::OMP_BIND_thread;
0510
0511 enum class CancellationConstructType {
0512 OMP_CANCELLATION_CONSTRUCT_Parallel=1,
0513 OMP_CANCELLATION_CONSTRUCT_Loop=2,
0514 OMP_CANCELLATION_CONSTRUCT_Sections=3,
0515 OMP_CANCELLATION_CONSTRUCT_Taskgroup=4,
0516 OMP_CANCELLATION_CONSTRUCT_None=5,
0517 };
0518
0519 constexpr auto OMP_CANCELLATION_CONSTRUCT_Parallel = llvm::omp::CancellationConstructType::OMP_CANCELLATION_CONSTRUCT_Parallel;
0520 constexpr auto OMP_CANCELLATION_CONSTRUCT_Loop = llvm::omp::CancellationConstructType::OMP_CANCELLATION_CONSTRUCT_Loop;
0521 constexpr auto OMP_CANCELLATION_CONSTRUCT_Sections = llvm::omp::CancellationConstructType::OMP_CANCELLATION_CONSTRUCT_Sections;
0522 constexpr auto OMP_CANCELLATION_CONSTRUCT_Taskgroup = llvm::omp::CancellationConstructType::OMP_CANCELLATION_CONSTRUCT_Taskgroup;
0523 constexpr auto OMP_CANCELLATION_CONSTRUCT_None = llvm::omp::CancellationConstructType::OMP_CANCELLATION_CONSTRUCT_None;
0524
0525 enum class GrainsizeType {
0526 OMP_GRAINSIZE_Strict=1,
0527 OMP_GRAINSIZE_Unknown=2,
0528 };
0529
0530 constexpr auto OMP_GRAINSIZE_Strict = llvm::omp::GrainsizeType::OMP_GRAINSIZE_Strict;
0531 constexpr auto OMP_GRAINSIZE_Unknown = llvm::omp::GrainsizeType::OMP_GRAINSIZE_Unknown;
0532
0533 enum class MemoryOrderKind {
0534 OMP_MEMORY_ORDER_SeqCst=1,
0535 OMP_MEMORY_ORDER_AcqRel=2,
0536 OMP_MEMORY_ORDER_Acquire=3,
0537 OMP_MEMORY_ORDER_Release=4,
0538 OMP_MEMORY_ORDER_Relaxed=5,
0539 OMP_MEMORY_ORDER_Default=6,
0540 };
0541
0542 constexpr auto OMP_MEMORY_ORDER_SeqCst = llvm::omp::MemoryOrderKind::OMP_MEMORY_ORDER_SeqCst;
0543 constexpr auto OMP_MEMORY_ORDER_AcqRel = llvm::omp::MemoryOrderKind::OMP_MEMORY_ORDER_AcqRel;
0544 constexpr auto OMP_MEMORY_ORDER_Acquire = llvm::omp::MemoryOrderKind::OMP_MEMORY_ORDER_Acquire;
0545 constexpr auto OMP_MEMORY_ORDER_Release = llvm::omp::MemoryOrderKind::OMP_MEMORY_ORDER_Release;
0546 constexpr auto OMP_MEMORY_ORDER_Relaxed = llvm::omp::MemoryOrderKind::OMP_MEMORY_ORDER_Relaxed;
0547 constexpr auto OMP_MEMORY_ORDER_Default = llvm::omp::MemoryOrderKind::OMP_MEMORY_ORDER_Default;
0548
0549 enum class NumTasksType {
0550 OMP_NUMTASKS_Strict=1,
0551 OMP_NUMTASKS_Unknown=2,
0552 };
0553
0554 constexpr auto OMP_NUMTASKS_Strict = llvm::omp::NumTasksType::OMP_NUMTASKS_Strict;
0555 constexpr auto OMP_NUMTASKS_Unknown = llvm::omp::NumTasksType::OMP_NUMTASKS_Unknown;
0556
0557 enum class OrderKind {
0558 OMP_ORDER_unknown=2,
0559 OMP_ORDER_concurrent=1,
0560 };
0561
0562 constexpr auto OMP_ORDER_unknown = llvm::omp::OrderKind::OMP_ORDER_unknown;
0563 constexpr auto OMP_ORDER_concurrent = llvm::omp::OrderKind::OMP_ORDER_concurrent;
0564
0565 enum class ProcBindKind {
0566 OMP_PROC_BIND_primary=5,
0567 OMP_PROC_BIND_master=2,
0568 OMP_PROC_BIND_close=3,
0569 OMP_PROC_BIND_spread=4,
0570 OMP_PROC_BIND_default=6,
0571 OMP_PROC_BIND_unknown=7,
0572 };
0573
0574 constexpr auto OMP_PROC_BIND_primary = llvm::omp::ProcBindKind::OMP_PROC_BIND_primary;
0575 constexpr auto OMP_PROC_BIND_master = llvm::omp::ProcBindKind::OMP_PROC_BIND_master;
0576 constexpr auto OMP_PROC_BIND_close = llvm::omp::ProcBindKind::OMP_PROC_BIND_close;
0577 constexpr auto OMP_PROC_BIND_spread = llvm::omp::ProcBindKind::OMP_PROC_BIND_spread;
0578 constexpr auto OMP_PROC_BIND_default = llvm::omp::ProcBindKind::OMP_PROC_BIND_default;
0579 constexpr auto OMP_PROC_BIND_unknown = llvm::omp::ProcBindKind::OMP_PROC_BIND_unknown;
0580
0581 enum class ScheduleKind {
0582 OMP_SCHEDULE_Static=2,
0583 OMP_SCHEDULE_Dynamic=3,
0584 OMP_SCHEDULE_Guided=4,
0585 OMP_SCHEDULE_Auto=5,
0586 OMP_SCHEDULE_Runtime=6,
0587 OMP_SCHEDULE_Default=7,
0588 };
0589
0590 constexpr auto OMP_SCHEDULE_Static = llvm::omp::ScheduleKind::OMP_SCHEDULE_Static;
0591 constexpr auto OMP_SCHEDULE_Dynamic = llvm::omp::ScheduleKind::OMP_SCHEDULE_Dynamic;
0592 constexpr auto OMP_SCHEDULE_Guided = llvm::omp::ScheduleKind::OMP_SCHEDULE_Guided;
0593 constexpr auto OMP_SCHEDULE_Auto = llvm::omp::ScheduleKind::OMP_SCHEDULE_Auto;
0594 constexpr auto OMP_SCHEDULE_Runtime = llvm::omp::ScheduleKind::OMP_SCHEDULE_Runtime;
0595 constexpr auto OMP_SCHEDULE_Default = llvm::omp::ScheduleKind::OMP_SCHEDULE_Default;
0596
0597 // Enumeration helper functions
0598 LLVM_ABI Directive getOpenMPDirectiveKind(llvm::StringRef Str);
0599
0600 LLVM_ABI llvm::StringRef getOpenMPDirectiveName(Directive D);
0601
0602 LLVM_ABI Clause getOpenMPClauseKind(llvm::StringRef Str);
0603
0604 LLVM_ABI llvm::StringRef getOpenMPClauseName(Clause C);
0605
0606 /// Return true if \p C is a valid clause for \p D in version \p Version.
0607 LLVM_ABI bool isAllowedClauseForDirective(Directive D, Clause C, unsigned Version);
0608
0609 constexpr std::size_t getMaxLeafCount() { return 6; }
0610 LLVM_ABI Association getDirectiveAssociation(Directive D);
0611 LLVM_ABI Category getDirectiveCategory(Directive D);
0612 LLVM_ABI BindKind getBindKind(StringRef);
0613 LLVM_ABI llvm::StringRef getOpenMPBindKindName(BindKind);
0614 LLVM_ABI CancellationConstructType getCancellationConstructType(StringRef);
0615 LLVM_ABI llvm::StringRef getOpenMPCancellationConstructTypeName(CancellationConstructType);
0616 LLVM_ABI GrainsizeType getGrainsizeType(StringRef);
0617 LLVM_ABI llvm::StringRef getOpenMPGrainsizeTypeName(GrainsizeType);
0618 LLVM_ABI MemoryOrderKind getMemoryOrderKind(StringRef);
0619 LLVM_ABI llvm::StringRef getOpenMPMemoryOrderKindName(MemoryOrderKind);
0620 LLVM_ABI NumTasksType getNumTasksType(StringRef);
0621 LLVM_ABI llvm::StringRef getOpenMPNumTasksTypeName(NumTasksType);
0622 LLVM_ABI OrderKind getOrderKind(StringRef);
0623 LLVM_ABI llvm::StringRef getOpenMPOrderKindName(OrderKind);
0624 LLVM_ABI ProcBindKind getProcBindKind(StringRef);
0625 LLVM_ABI llvm::StringRef getOpenMPProcBindKindName(ProcBindKind);
0626 LLVM_ABI ScheduleKind getScheduleKind(StringRef);
0627 LLVM_ABI llvm::StringRef getOpenMPScheduleKindName(ScheduleKind);
0628
0629 } // namespace omp
0630 } // namespace llvm
0631 #endif // LLVM_OpenMP_INC