Warning, /include/clang/Basic/OpenMPKinds.def is written in an unsupported language. File is not indexed.
0001 //===--- OpenMPKinds.def - OpenMP directives and clauses list ---*- C++ -*-===//
0002 //
0003 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
0004 // See https://llvm.org/LICENSE.txt for license information.
0005 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
0006 //
0007 //===----------------------------------------------------------------------===//
0008 /// \file
0009 /// This file defines the list of supported OpenMP directives and
0010 /// clauses.
0011 ///
0012 //===----------------------------------------------------------------------===//
0013
0014 #ifndef OPENMP_SCHEDULE_KIND
0015 #define OPENMP_SCHEDULE_KIND(Name)
0016 #endif
0017 #ifndef OPENMP_SCHEDULE_MODIFIER
0018 #define OPENMP_SCHEDULE_MODIFIER(Name)
0019 #endif
0020 #ifndef OPENMP_DEPEND_KIND
0021 #define OPENMP_DEPEND_KIND(Name)
0022 #endif
0023 #ifndef OPENMP_LINEAR_KIND
0024 #define OPENMP_LINEAR_KIND(Name)
0025 #endif
0026 #ifndef OPENMP_MAP_KIND
0027 #define OPENMP_MAP_KIND(Name)
0028 #endif
0029 #ifndef OPENMP_MAP_MODIFIER_KIND
0030 #define OPENMP_MAP_MODIFIER_KIND(Name)
0031 #endif
0032 #ifndef OPENMP_MOTION_MODIFIER_KIND
0033 #define OPENMP_MOTION_MODIFIER_KIND(Name)
0034 #endif
0035 #ifndef OPENMP_DIST_SCHEDULE_KIND
0036 #define OPENMP_DIST_SCHEDULE_KIND(Name)
0037 #endif
0038 #ifndef OPENMP_DEFAULTMAP_KIND
0039 #define OPENMP_DEFAULTMAP_KIND(Name)
0040 #endif
0041 #ifndef OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND
0042 #define OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(Name)
0043 #endif
0044 #ifndef OPENMP_ATOMIC_FAIL_MODIFIER
0045 #define OPENMP_ATOMIC_FAIL_MODIFIER(Name)
0046 #endif
0047 #ifndef OPENMP_AT_KIND
0048 #define OPENMP_AT_KIND(Name)
0049 #endif
0050 #ifndef OPENMP_SEVERITY_KIND
0051 #define OPENMP_SEVERITY_KIND(Name)
0052 #endif
0053 #ifndef OPENMP_DEFAULTMAP_MODIFIER
0054 #define OPENMP_DEFAULTMAP_MODIFIER(Name)
0055 #endif
0056 #ifndef OPENMP_DEVICE_TYPE_KIND
0057 #define OPENMP_DEVICE_TYPE_KIND(Name)
0058 #endif
0059 #ifndef OPENMP_LASTPRIVATE_KIND
0060 #define OPENMP_LASTPRIVATE_KIND(Name)
0061 #endif
0062 #ifndef OPENMP_ORDER_KIND
0063 #define OPENMP_ORDER_KIND(Name)
0064 #endif
0065 #ifndef OPENMP_ORDER_MODIFIER
0066 #define OPENMP_ORDER_MODIFIER(Name)
0067 #endif
0068 #ifndef OPENMP_DEVICE_MODIFIER
0069 #define OPENMP_DEVICE_MODIFIER(Name)
0070 #endif
0071 #ifndef OPENMP_REDUCTION_MODIFIER
0072 #define OPENMP_REDUCTION_MODIFIER(Name)
0073 #endif
0074 #ifndef OPENMP_ADJUST_ARGS_KIND
0075 #define OPENMP_ADJUST_ARGS_KIND(Name)
0076 #endif
0077 #ifndef OPENMP_BIND_KIND
0078 #define OPENMP_BIND_KIND(Name)
0079 #endif
0080 #ifndef OPENMP_GRAINSIZE_MODIFIER
0081 #define OPENMP_GRAINSIZE_MODIFIER(Name)
0082 #endif
0083 #ifndef OPENMP_NUMTASKS_MODIFIER
0084 #define OPENMP_NUMTASKS_MODIFIER(Name)
0085 #endif
0086 #ifndef OPENMP_DOACROSS_MODIFIER
0087 #define OPENMP_DOACROSS_MODIFIER(Name)
0088 #endif
0089 #ifndef OPENMP_ALLOCATE_MODIFIER
0090 #define OPENMP_ALLOCATE_MODIFIER(Name)
0091 #endif
0092
0093 // Static attributes for 'schedule' clause.
0094 OPENMP_SCHEDULE_KIND(static)
0095 OPENMP_SCHEDULE_KIND(dynamic)
0096 OPENMP_SCHEDULE_KIND(guided)
0097 OPENMP_SCHEDULE_KIND(auto)
0098 OPENMP_SCHEDULE_KIND(runtime)
0099
0100 // Modifiers for 'schedule' clause.
0101 OPENMP_SCHEDULE_MODIFIER(monotonic)
0102 OPENMP_SCHEDULE_MODIFIER(nonmonotonic)
0103 OPENMP_SCHEDULE_MODIFIER(simd)
0104
0105 // Modifiers for 'device' clause.
0106 OPENMP_DEVICE_MODIFIER(ancestor)
0107 OPENMP_DEVICE_MODIFIER(device_num)
0108
0109 // Static attributes for 'defaultmap' clause.
0110 OPENMP_DEFAULTMAP_KIND(scalar)
0111 OPENMP_DEFAULTMAP_KIND(aggregate)
0112 OPENMP_DEFAULTMAP_KIND(pointer)
0113 OPENMP_DEFAULTMAP_KIND(all)
0114
0115 // Modifiers for 'defaultmap' clause.
0116 OPENMP_DEFAULTMAP_MODIFIER(alloc)
0117 OPENMP_DEFAULTMAP_MODIFIER(to)
0118 OPENMP_DEFAULTMAP_MODIFIER(from)
0119 OPENMP_DEFAULTMAP_MODIFIER(tofrom)
0120 OPENMP_DEFAULTMAP_MODIFIER(firstprivate)
0121 OPENMP_DEFAULTMAP_MODIFIER(none)
0122 OPENMP_DEFAULTMAP_MODIFIER(default)
0123 OPENMP_DEFAULTMAP_MODIFIER(present)
0124
0125 // Static attributes for 'depend' clause.
0126 OPENMP_DEPEND_KIND(in)
0127 OPENMP_DEPEND_KIND(out)
0128 OPENMP_DEPEND_KIND(inout)
0129 OPENMP_DEPEND_KIND(mutexinoutset)
0130 OPENMP_DEPEND_KIND(depobj)
0131 OPENMP_DEPEND_KIND(source)
0132 OPENMP_DEPEND_KIND(sink)
0133 OPENMP_DEPEND_KIND(inoutset)
0134 OPENMP_DEPEND_KIND(outallmemory)
0135 OPENMP_DEPEND_KIND(inoutallmemory)
0136
0137 // Modifiers for 'linear' clause.
0138 OPENMP_LINEAR_KIND(val)
0139 OPENMP_LINEAR_KIND(ref)
0140 OPENMP_LINEAR_KIND(uval)
0141 OPENMP_LINEAR_KIND(step)
0142
0143 // Modifiers for 'atomic_default_mem_order' clause.
0144 OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(seq_cst)
0145 OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(acq_rel)
0146 OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND(relaxed)
0147
0148 // Modifiers for atomic 'fail' clause.
0149 OPENMP_ATOMIC_FAIL_MODIFIER(seq_cst)
0150 OPENMP_ATOMIC_FAIL_MODIFIER(acquire)
0151 OPENMP_ATOMIC_FAIL_MODIFIER(relaxed)
0152
0153 // Modifiers for 'at' clause.
0154 OPENMP_AT_KIND(compilation)
0155 OPENMP_AT_KIND(execution)
0156
0157 // Modifiers for 'severity' clause.
0158 OPENMP_SEVERITY_KIND(fatal)
0159 OPENMP_SEVERITY_KIND(warning)
0160
0161 // Map types for 'map' clause.
0162 OPENMP_MAP_KIND(alloc)
0163 OPENMP_MAP_KIND(to)
0164 OPENMP_MAP_KIND(from)
0165 OPENMP_MAP_KIND(tofrom)
0166 OPENMP_MAP_KIND(delete)
0167 OPENMP_MAP_KIND(release)
0168
0169 // Map-type-modifiers for 'map' clause.
0170 OPENMP_MAP_MODIFIER_KIND(always)
0171 OPENMP_MAP_MODIFIER_KIND(close)
0172 OPENMP_MAP_MODIFIER_KIND(mapper)
0173 OPENMP_MAP_MODIFIER_KIND(iterator)
0174 OPENMP_MAP_MODIFIER_KIND(present)
0175 // This is an OpenMP extension for the sake of OpenACC support.
0176 OPENMP_MAP_MODIFIER_KIND(ompx_hold)
0177
0178 // Modifiers for 'to' or 'from' clause.
0179 OPENMP_MOTION_MODIFIER_KIND(mapper)
0180 OPENMP_MOTION_MODIFIER_KIND(present)
0181
0182 // Static attributes for 'dist_schedule' clause.
0183 OPENMP_DIST_SCHEDULE_KIND(static)
0184
0185 // Device types for 'device_type' clause.
0186 OPENMP_DEVICE_TYPE_KIND(host)
0187 OPENMP_DEVICE_TYPE_KIND(nohost)
0188 OPENMP_DEVICE_TYPE_KIND(any)
0189
0190 // Type of the 'lastprivate' clause.
0191 OPENMP_LASTPRIVATE_KIND(conditional)
0192
0193 // Type of the 'order' clause.
0194 OPENMP_ORDER_KIND(concurrent)
0195
0196 // Modifiers for the 'order' clause.
0197 OPENMP_ORDER_MODIFIER(reproducible)
0198 OPENMP_ORDER_MODIFIER(unconstrained)
0199
0200 // Modifiers for 'reduction' clause.
0201 OPENMP_REDUCTION_MODIFIER(default)
0202 OPENMP_REDUCTION_MODIFIER(inscan)
0203 OPENMP_REDUCTION_MODIFIER(task)
0204
0205 // Adjust-op kinds for the 'adjust_args' clause.
0206 OPENMP_ADJUST_ARGS_KIND(nothing)
0207 OPENMP_ADJUST_ARGS_KIND(need_device_ptr)
0208
0209 // Binding kinds for the 'bind' clause.
0210 OPENMP_BIND_KIND(teams)
0211 OPENMP_BIND_KIND(parallel)
0212 OPENMP_BIND_KIND(thread)
0213
0214 // Modifiers for the 'grainsize' clause.
0215 OPENMP_GRAINSIZE_MODIFIER(strict)
0216
0217 // Modifiers for the 'num_tasks' clause.
0218 OPENMP_NUMTASKS_MODIFIER(strict)
0219
0220 // Modifiers for 'allocate' clause.
0221 OPENMP_ALLOCATE_MODIFIER(allocator)
0222 OPENMP_ALLOCATE_MODIFIER(align)
0223
0224 // Modifiers for the 'doacross' clause.
0225 OPENMP_DOACROSS_MODIFIER(source)
0226 OPENMP_DOACROSS_MODIFIER(sink)
0227 OPENMP_DOACROSS_MODIFIER(sink_omp_cur_iteration)
0228 OPENMP_DOACROSS_MODIFIER(source_omp_cur_iteration)
0229
0230 #undef OPENMP_NUMTASKS_MODIFIER
0231 #undef OPENMP_GRAINSIZE_MODIFIER
0232 #undef OPENMP_BIND_KIND
0233 #undef OPENMP_ADJUST_ARGS_KIND
0234 #undef OPENMP_REDUCTION_MODIFIER
0235 #undef OPENMP_DEVICE_MODIFIER
0236 #undef OPENMP_ORDER_KIND
0237 #undef OPENMP_ORDER_MODIFIER
0238 #undef OPENMP_LASTPRIVATE_KIND
0239 #undef OPENMP_DEVICE_TYPE_KIND
0240 #undef OPENMP_LINEAR_KIND
0241 #undef OPENMP_DEPEND_KIND
0242 #undef OPENMP_SCHEDULE_MODIFIER
0243 #undef OPENMP_SCHEDULE_KIND
0244 #undef OPENMP_ATOMIC_DEFAULT_MEM_ORDER_KIND
0245 #undef OPENMP_ATOMIC_FAIL_MODIFIER
0246 #undef OPENMP_AT_KIND
0247 #undef OPENMP_SEVERITY_KIND
0248 #undef OPENMP_MAP_KIND
0249 #undef OPENMP_MAP_MODIFIER_KIND
0250 #undef OPENMP_MOTION_MODIFIER_KIND
0251 #undef OPENMP_DIST_SCHEDULE_KIND
0252 #undef OPENMP_DEFAULTMAP_KIND
0253 #undef OPENMP_DEFAULTMAP_MODIFIER
0254 #undef OPENMP_DOACROSS_MODIFIER
0255 #undef OPENMP_ALLOCATE_MODIFIER
0256