Back to home page

EIC code displayed by LXR

 
 

    


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