1/* This file contains the definitions and documentation for the 2 Offloading and Multi Processing builtins used in the GNU compiler. 3 Copyright (C) 2005-2020 Free Software Foundation, Inc. 4 5This file is part of GCC. 6 7GCC is free software; you can redistribute it and/or modify it under 8the terms of the GNU General Public License as published by the Free 9Software Foundation; either version 3, or (at your option) any later 10version. 11 12GCC is distributed in the hope that it will be useful, but WITHOUT ANY 13WARRANTY; without even the implied warranty of MERCHANTABILITY or 14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15for more details. 16 17You should have received a copy of the GNU General Public License 18along with GCC; see the file COPYING3. If not see 19<http://www.gnu.org/licenses/>. */ 20 21/* Before including this file, you should define a macro: 22 23 DEF_GOACC_BUILTIN (ENUM, NAME, TYPE, ATTRS) 24 DEF_GOACC_BUILTIN_COMPILER (ENUM, NAME, TYPE, ATTRS) 25 DEF_GOMP_BUILTIN (ENUM, NAME, TYPE, ATTRS) 26 27 See builtins.def for details. */ 28 29/* The reason why they aren't in gcc/builtins.def is that the Fortran front end 30 doesn't source those. */ 31 32DEF_GOACC_BUILTIN (BUILT_IN_ACC_GET_DEVICE_TYPE, "acc_get_device_type", 33 BT_FN_INT, ATTR_NOTHROW_LIST) 34DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_START, "GOACC_data_start", 35 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST) 36DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DATA_END, "GOACC_data_end", 37 BT_FN_VOID, ATTR_NOTHROW_LIST) 38DEF_GOACC_BUILTIN (BUILT_IN_GOACC_ENTER_EXIT_DATA, "GOACC_enter_exit_data", 39 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, 40 ATTR_NOTHROW_LIST) 41DEF_GOACC_BUILTIN (BUILT_IN_GOACC_PARALLEL, "GOACC_parallel_keyed", 42 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_VAR, 43 ATTR_NOTHROW_LIST) 44DEF_GOACC_BUILTIN (BUILT_IN_GOACC_UPDATE, "GOACC_update", 45 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, 46 ATTR_NOTHROW_LIST) 47DEF_GOACC_BUILTIN (BUILT_IN_GOACC_WAIT, "GOACC_wait", 48 BT_FN_VOID_INT_INT_VAR, 49 ATTR_NOTHROW_LIST) 50 51DEF_GOACC_BUILTIN_COMPILER (BUILT_IN_ACC_ON_DEVICE, "acc_on_device", 52 BT_FN_INT_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 53 54DEF_GOACC_BUILTIN_ONLY (BUILT_IN_GOACC_PARLEVEL_ID, "goacc_parlevel_id", 55 BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST) 56DEF_GOACC_BUILTIN_ONLY (BUILT_IN_GOACC_PARLEVEL_SIZE, "goacc_parlevel_size", 57 BT_FN_INT_INT, ATTR_NOTHROW_LEAF_LIST) 58 59DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_THREAD_NUM, "omp_get_thread_num", 60 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 61DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_THREADS, "omp_get_num_threads", 62 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 63DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_TEAM_NUM, "omp_get_team_num", 64 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 65DEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_TEAMS, "omp_get_num_teams", 66 BT_FN_INT, ATTR_CONST_NOTHROW_LEAF_LIST) 67 68DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_START, "GOMP_atomic_start", 69 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 70DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_END, "GOMP_atomic_end", 71 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 72DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER, "GOMP_barrier", 73 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 74DEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER_CANCEL, "GOMP_barrier_cancel", 75 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST) 76DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKWAIT, "GOMP_taskwait", 77 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 78DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKWAIT_DEPEND, "GOMP_taskwait_depend", 79 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) 80DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKYIELD, "GOMP_taskyield", 81 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 82DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_START, "GOMP_taskgroup_start", 83 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 84DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_END, "GOMP_taskgroup_end", 85 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 86DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCEL, "GOMP_cancel", 87 BT_FN_BOOL_INT_BOOL, ATTR_NOTHROW_LEAF_LIST) 88DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CANCELLATION_POINT, "GOMP_cancellation_point", 89 BT_FN_BOOL_INT, ATTR_NOTHROW_LEAF_LIST) 90DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_START, "GOMP_critical_start", 91 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 92DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_END, "GOMP_critical_end", 93 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 94DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_START, 95 "GOMP_critical_name_start", 96 BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST) 97DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_END, 98 "GOMP_critical_name_end", 99 BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LEAF_LIST) 100/* NOTE: Do not change the order of BUILT_IN_GOMP_LOOP_*_START. They 101 are used in index arithmetic with enum omp_clause_schedule_kind 102 in omp-low.c. */ 103DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_START, 104 "GOMP_loop_static_start", 105 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 106 ATTR_NOTHROW_LEAF_LIST) 107DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_START, 108 "GOMP_loop_dynamic_start", 109 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 110 ATTR_NOTHROW_LEAF_LIST) 111DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_START, 112 "GOMP_loop_guided_start", 113 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 114 ATTR_NOTHROW_LEAF_LIST) 115DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_START, 116 "GOMP_loop_runtime_start", 117 BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 118 ATTR_NOTHROW_LEAF_LIST) 119DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START, 120 "GOMP_loop_nonmonotonic_dynamic_start", 121 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 122 ATTR_NOTHROW_LEAF_LIST) 123DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START, 124 "GOMP_loop_nonmonotonic_guided_start", 125 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 126 ATTR_NOTHROW_LEAF_LIST) 127DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_START, 128 "GOMP_loop_nonmonotonic_runtime_start", 129 BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 130 ATTR_NOTHROW_LEAF_LIST) 131DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_START, 132 "GOMP_loop_maybe_nonmonotonic_runtime_start", 133 BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 134 ATTR_NOTHROW_LEAF_LIST) 135DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START, 136 "GOMP_loop_ordered_static_start", 137 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 138 ATTR_NOTHROW_LEAF_LIST) 139DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START, 140 "GOMP_loop_ordered_dynamic_start", 141 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 142 ATTR_NOTHROW_LEAF_LIST) 143DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START, 144 "GOMP_loop_ordered_guided_start", 145 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 146 ATTR_NOTHROW_LEAF_LIST) 147DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START, 148 "GOMP_loop_ordered_runtime_start", 149 BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 150 ATTR_NOTHROW_LEAF_LIST) 151DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START, 152 "GOMP_loop_doacross_static_start", 153 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, 154 ATTR_NOTHROW_LEAF_LIST) 155DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START, 156 "GOMP_loop_doacross_dynamic_start", 157 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, 158 ATTR_NOTHROW_LEAF_LIST) 159DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START, 160 "GOMP_loop_doacross_guided_start", 161 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR, 162 ATTR_NOTHROW_LEAF_LIST) 163DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START, 164 "GOMP_loop_doacross_runtime_start", 165 BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, 166 ATTR_NOTHROW_LEAF_LIST) 167DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_START, 168 "GOMP_loop_start", 169 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR, 170 ATTR_NOTHROW_LEAF_LIST) 171DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_START, 172 "GOMP_loop_ordered_start", 173 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR, 174 ATTR_NOTHROW_LEAF_LIST) 175DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DOACROSS_START, 176 "GOMP_loop_doacross_start", 177 BT_FN_BOOL_UINT_LONGPTR_LONG_LONG_LONGPTR_LONGPTR_PTR_PTR, 178 ATTR_NOTHROW_LEAF_LIST) 179DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_NEXT, "GOMP_loop_static_next", 180 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 181DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, "GOMP_loop_dynamic_next", 182 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 183DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_NEXT, "GOMP_loop_guided_next", 184 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 185DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, "GOMP_loop_runtime_next", 186 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 187DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT, 188 "GOMP_loop_nonmonotonic_dynamic_next", 189 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 190DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT, 191 "GOMP_loop_nonmonotonic_guided_next", 192 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 193DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_NONMONOTONIC_RUNTIME_NEXT, 194 "GOMP_loop_nonmonotonic_runtime_next", 195 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 196DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_MAYBE_NONMONOTONIC_RUNTIME_NEXT, 197 "GOMP_loop_maybe_nonmonotonic_runtime_next", 198 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 199DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT, 200 "GOMP_loop_ordered_static_next", 201 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 202DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT, 203 "GOMP_loop_ordered_dynamic_next", 204 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 205DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT, 206 "GOMP_loop_ordered_guided_next", 207 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 208DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT, 209 "GOMP_loop_ordered_runtime_next", 210 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LEAF_LIST) 211DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_START, 212 "GOMP_loop_ull_static_start", 213 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 214 ATTR_NOTHROW_LEAF_LIST) 215DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_START, 216 "GOMP_loop_ull_dynamic_start", 217 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 218 ATTR_NOTHROW_LEAF_LIST) 219DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_START, 220 "GOMP_loop_ull_guided_start", 221 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 222 ATTR_NOTHROW_LEAF_LIST) 223DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_START, 224 "GOMP_loop_ull_runtime_start", 225 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, 226 ATTR_NOTHROW_LEAF_LIST) 227DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START, 228 "GOMP_loop_ull_nonmonotonic_dynamic_start", 229 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 230 ATTR_NOTHROW_LEAF_LIST) 231DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START, 232 "GOMP_loop_ull_nonmonotonic_guided_start", 233 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 234 ATTR_NOTHROW_LEAF_LIST) 235DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_START, 236 "GOMP_loop_ull_nonmonotonic_runtime_start", 237 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, 238 ATTR_NOTHROW_LEAF_LIST) 239DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_START, 240 "GOMP_loop_ull_maybe_nonmonotonic_runtime_start", 241 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, 242 ATTR_NOTHROW_LEAF_LIST) 243DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_START, 244 "GOMP_loop_ull_ordered_static_start", 245 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 246 ATTR_NOTHROW_LEAF_LIST) 247DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_START, 248 "GOMP_loop_ull_ordered_dynamic_start", 249 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 250 ATTR_NOTHROW_LEAF_LIST) 251DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_START, 252 "GOMP_loop_ull_ordered_guided_start", 253 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULL_ULLPTR_ULLPTR, 254 ATTR_NOTHROW_LEAF_LIST) 255DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_START, 256 "GOMP_loop_ull_ordered_runtime_start", 257 BT_FN_BOOL_BOOL_ULL_ULL_ULL_ULLPTR_ULLPTR, 258 ATTR_NOTHROW_LEAF_LIST) 259DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START, 260 "GOMP_loop_ull_doacross_static_start", 261 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, 262 ATTR_NOTHROW_LEAF_LIST) 263DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START, 264 "GOMP_loop_ull_doacross_dynamic_start", 265 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, 266 ATTR_NOTHROW_LEAF_LIST) 267DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START, 268 "GOMP_loop_ull_doacross_guided_start", 269 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR, 270 ATTR_NOTHROW_LEAF_LIST) 271DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START, 272 "GOMP_loop_ull_doacross_runtime_start", 273 BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR, 274 ATTR_NOTHROW_LEAF_LIST) 275DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_START, 276 "GOMP_loop_ull_start", 277 BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR, 278 ATTR_NOTHROW_LEAF_LIST) 279DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_START, 280 "GOMP_loop_ull_ordered_start", 281 BT_FN_BOOL_BOOL_ULL_ULL_ULL_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR, 282 ATTR_NOTHROW_LEAF_LIST) 283DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DOACROSS_START, 284 "GOMP_loop_ull_doacross_start", 285 BT_FN_BOOL_UINT_ULLPTR_LONG_ULL_ULLPTR_ULLPTR_PTR_PTR, 286 ATTR_NOTHROW_LEAF_LIST) 287DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_STATIC_NEXT, 288 "GOMP_loop_ull_static_next", 289 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 290DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_DYNAMIC_NEXT, 291 "GOMP_loop_ull_dynamic_next", 292 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 293DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_GUIDED_NEXT, 294 "GOMP_loop_ull_guided_next", 295 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 296DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_RUNTIME_NEXT, 297 "GOMP_loop_ull_runtime_next", 298 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 299DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT, 300 "GOMP_loop_ull_nonmonotonic_dynamic_next", 301 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 302DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT, 303 "GOMP_loop_ull_nonmonotonic_guided_next", 304 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 305DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_RUNTIME_NEXT, 306 "GOMP_loop_ull_nonmonotonic_runtime_next", 307 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 308DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_MAYBE_NONMONOTONIC_RUNTIME_NEXT, 309 "GOMP_loop_ull_maybe_nonmonotonic_runtime_next", 310 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 311DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_STATIC_NEXT, 312 "GOMP_loop_ull_ordered_static_next", 313 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 314DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_DYNAMIC_NEXT, 315 "GOMP_loop_ull_ordered_dynamic_next", 316 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 317DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_GUIDED_NEXT, 318 "GOMP_loop_ull_ordered_guided_next", 319 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 320DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT, 321 "GOMP_loop_ull_ordered_runtime_next", 322 BT_FN_BOOL_ULONGLONGPTR_ULONGLONGPTR, ATTR_NOTHROW_LEAF_LIST) 323/* NOTE: Do not change the order of BUILT_IN_GOMP_PARALLEL_LOOP_*. 324 They are used in index arithmetic with enum omp_clause_schedule_kind 325 in omp-low.c. */ 326DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC, 327 "GOMP_parallel_loop_static", 328 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 329 ATTR_NOTHROW_LIST) 330DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC, 331 "GOMP_parallel_loop_dynamic", 332 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 333 ATTR_NOTHROW_LIST) 334DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED, 335 "GOMP_parallel_loop_guided", 336 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 337 ATTR_NOTHROW_LIST) 338DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME, 339 "GOMP_parallel_loop_runtime", 340 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT, 341 ATTR_NOTHROW_LIST) 342DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC, 343 "GOMP_parallel_loop_nonmonotonic_dynamic", 344 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 345 ATTR_NOTHROW_LIST) 346DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED, 347 "GOMP_parallel_loop_nonmonotonic_guided", 348 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG_UINT, 349 ATTR_NOTHROW_LIST) 350DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_RUNTIME, 351 "GOMP_parallel_loop_nonmonotonic_runtime", 352 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT, 353 ATTR_NOTHROW_LIST) 354DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_MAYBE_NONMONOTONIC_RUNTIME, 355 "GOMP_parallel_loop_maybe_nonmonotonic_runtime", 356 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_UINT, 357 ATTR_NOTHROW_LIST) 358DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END, "GOMP_loop_end", 359 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 360DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_CANCEL, "GOMP_loop_end_cancel", 361 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST) 362DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_NOWAIT, "GOMP_loop_end_nowait", 363 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 364DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_START, "GOMP_ordered_start", 365 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 366DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_END, "GOMP_ordered_end", 367 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 368DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_POST, "GOMP_doacross_post", 369 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) 370DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_WAIT, "GOMP_doacross_wait", 371 BT_FN_VOID_LONG_VAR, ATTR_NOTHROW_LEAF_LIST) 372DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_POST, "GOMP_doacross_ull_post", 373 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) 374DEF_GOMP_BUILTIN (BUILT_IN_GOMP_DOACROSS_ULL_WAIT, "GOMP_doacross_ull_wait", 375 BT_FN_VOID_ULL_VAR, ATTR_NOTHROW_LEAF_LIST) 376DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL, "GOMP_parallel", 377 BT_FN_VOID_OMPFN_PTR_UINT_UINT, ATTR_NOTHROW_LIST) 378DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_REDUCTIONS, 379 "GOMP_parallel_reductions", 380 BT_FN_UINT_OMPFN_PTR_UINT_UINT, ATTR_NOTHROW_LIST) 381DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASK, "GOMP_task", 382 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT, 383 ATTR_NOTHROW_LIST) 384DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP, "GOMP_taskloop", 385 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG, 386 ATTR_NOTHROW_LIST) 387DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKLOOP_ULL, "GOMP_taskloop_ull", 388 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL, 389 ATTR_NOTHROW_LIST) 390DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_START, "GOMP_sections_start", 391 BT_FN_UINT_UINT, ATTR_NOTHROW_LEAF_LIST) 392DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS2_START, "GOMP_sections2_start", 393 BT_FN_UINT_UINT_PTR_PTR, ATTR_NOTHROW_LEAF_LIST) 394DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_NEXT, "GOMP_sections_next", 395 BT_FN_UINT, ATTR_NOTHROW_LEAF_LIST) 396DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_SECTIONS, 397 "GOMP_parallel_sections", 398 BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, ATTR_NOTHROW_LIST) 399DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END, "GOMP_sections_end", 400 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 401DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_CANCEL, 402 "GOMP_sections_end_cancel", 403 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST) 404DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_NOWAIT, 405 "GOMP_sections_end_nowait", 406 BT_FN_VOID, ATTR_NOTHROW_LEAF_LIST) 407DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_START, "GOMP_single_start", 408 BT_FN_BOOL, ATTR_NOTHROW_LEAF_LIST) 409DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_START, "GOMP_single_copy_start", 410 BT_FN_PTR, ATTR_NOTHROW_LEAF_LIST) 411DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_END, "GOMP_single_copy_end", 412 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) 413DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_REGISTER, "GOMP_offload_register_ver", 414 BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST) 415DEF_GOMP_BUILTIN (BUILT_IN_GOMP_OFFLOAD_UNREGISTER, 416 "GOMP_offload_unregister_ver", 417 BT_FN_VOID_UINT_PTR_INT_PTR, ATTR_NOTHROW_LIST) 418DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET, "GOMP_target_ext", 419 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR, 420 ATTR_NOTHROW_LIST) 421DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_DATA, "GOMP_target_data_ext", 422 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST) 423DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_END_DATA, "GOMP_target_end_data", 424 BT_FN_VOID, ATTR_NOTHROW_LIST) 425DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_UPDATE, "GOMP_target_update_ext", 426 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, 427 ATTR_NOTHROW_LIST) 428DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, 429 "GOMP_target_enter_exit_data", 430 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR, ATTR_NOTHROW_LIST) 431DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TEAMS, "GOMP_teams", 432 BT_FN_VOID_UINT_UINT, ATTR_NOTHROW_LIST) 433DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TEAMS_REG, "GOMP_teams_reg", 434 BT_FN_VOID_OMPFN_PTR_UINT_UINT_UINT, ATTR_NOTHROW_LIST) 435DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_REDUCTION_REGISTER, 436 "GOMP_taskgroup_reduction_register", 437 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) 438DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASKGROUP_REDUCTION_UNREGISTER, 439 "GOMP_taskgroup_reduction_unregister", 440 BT_FN_VOID_PTR, ATTR_NOTHROW_LEAF_LIST) 441DEF_GOMP_BUILTIN (BUILT_IN_GOMP_TASK_REDUCTION_REMAP, 442 "GOMP_task_reduction_remap", 443 BT_FN_VOID_SIZE_SIZE_PTR, ATTR_NOTHROW_LEAF_LIST) 444DEF_GOMP_BUILTIN (BUILT_IN_GOMP_WORKSHARE_TASK_REDUCTION_UNREGISTER, 445 "GOMP_workshare_task_reduction_unregister", 446 BT_FN_VOID_BOOL, ATTR_NOTHROW_LEAF_LIST) 447DEF_GOACC_BUILTIN (BUILT_IN_GOACC_DECLARE, "GOACC_declare", 448 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, ATTR_NOTHROW_LIST) 449