13#include "../../../deps/riscv-opcodes/encoding.h"
15#define _KMP_PRINTF(...) \
17 printf("[kmc] "__VA_ARGS__); \
19#define KMP_PRINTF(d, ...) \
20 if (KMP_DEBUG_LEVEL >= d) { \
21 _KMP_PRINTF(__VA_ARGS__); \
24#define KMP_PRINTF(d, ...)
38typedef int32_t kmp_int32;
39typedef uint32_t kmp_uint32;
40typedef int64_t kmp_int64;
41typedef uint64_t kmp_uint64;
42typedef kmp_uint64 _kmp_ptr64;
43typedef kmp_uint32 _kmp_ptr32;
62enum sched_type : kmp_int32 {
64 kmp_sch_static_chunked = 33,
66 kmp_sch_dynamic_chunked = 35,
67 kmp_sch_guided_chunked = 36,
70 kmp_sch_trapezoidal = 39,
73 kmp_sch_static_greedy = 40,
74 kmp_sch_static_balanced = 41,
76 kmp_sch_guided_iterative_chunked = 42,
77 kmp_sch_guided_analytical_chunked = 43,
79 kmp_sch_static_steal = 44,
82 kmp_sch_static_balanced_chunked = 45,
83 kmp_sch_guided_simd = 46,
84 kmp_sch_runtime_simd = 47,
91 kmp_ord_static_chunked = 65,
93 kmp_ord_dynamic_chunked = 67,
94 kmp_ord_guided_chunked = 68,
97 kmp_ord_trapezoidal = 71,
101 kmp_distribute_static_chunked = 91,
102 kmp_distribute_static = 92,
110 kmp_nm_static_chunked =
111 (kmp_sch_static_chunked - kmp_sch_lower + kmp_nm_lower),
113 kmp_nm_dynamic_chunked = 163,
114 kmp_nm_guided_chunked = 164,
115 kmp_nm_runtime = 165,
117 kmp_nm_trapezoidal = 167,
120 kmp_nm_static_greedy = 168,
121 kmp_nm_static_balanced = 169,
123 kmp_nm_guided_iterative_chunked = 170,
124 kmp_nm_guided_analytical_chunked = 171,
125 kmp_nm_static_steal =
128 kmp_nm_ord_static_chunked = 193,
129 kmp_nm_ord_static = 194,
130 kmp_nm_ord_dynamic_chunked = 195,
131 kmp_nm_ord_guided_chunked = 196,
132 kmp_nm_ord_runtime = 197,
133 kmp_nm_ord_auto = 198,
134 kmp_nm_ord_trapezoidal = 199,
151 kmp_sch_modifier_monotonic =
153 kmp_sch_modifier_nonmonotonic =
156#define SCHEDULE_WITHOUT_MODIFIERS(s) \
158 (s) & ~(kmp_sch_modifier_nonmonotonic | kmp_sch_modifier_monotonic))
159#define SCHEDULE_HAS_MONOTONIC(s) (((s)&kmp_sch_modifier_monotonic) != 0)
160#define SCHEDULE_HAS_NONMONOTONIC(s) (((s)&kmp_sch_modifier_nonmonotonic) != 0)
161#define SCHEDULE_HAS_NO_MODIFIERS(s) \
162 (((s) & (kmp_sch_modifier_nonmonotonic | kmp_sch_modifier_monotonic)) == 0)
163#define SCHEDULE_GET_MODIFIERS(s) \
164 ((enum sched_type)( \
165 (s) & (kmp_sch_modifier_nonmonotonic | kmp_sch_modifier_monotonic)))
166#define SCHEDULE_SET_MODIFIERS(s, m) \
167 (s = (enum sched_type)((kmp_int32)s | (kmp_int32)m))
168#define SCHEDULE_NONMONOTONIC 0
169#define SCHEDULE_MONOTONIC 1
171 kmp_sch_default = kmp_sch_static
174typedef void (*kmpc_micro)(kmp_int32 *global_tid, kmp_int32 *bound_tid, ...);
180extern _kmp_ptr32 *kmpc_args;
Definition interface.h:28
char const * psource
Definition interface.h:35
kmp_int32 reserved_1
Definition interface.h:29
kmp_int32 reserved_2
Definition interface.h:33
kmp_int32 reserved_3
Definition interface.h:34
kmp_int32 flags
Definition interface.h:30