omp-builtins.def revision 169689
1169689Skan/* This file contains the definitions and documentation for the 2169689Skan OpenMP builtins used in the GNU compiler. 3169689Skan Copyright (C) 2005 Free Software Foundation, Inc. 4169689Skan 5169689SkanThis file is part of GCC. 6169689Skan 7169689SkanGCC is free software; you can redistribute it and/or modify it under 8169689Skanthe terms of the GNU General Public License as published by the Free 9169689SkanSoftware Foundation; either version 2, or (at your option) any later 10169689Skanversion. 11169689Skan 12169689SkanGCC is distributed in the hope that it will be useful, but WITHOUT ANY 13169689SkanWARRANTY; without even the implied warranty of MERCHANTABILITY or 14169689SkanFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15169689Skanfor more details. 16169689Skan 17169689SkanYou should have received a copy of the GNU General Public License 18169689Skanalong with GCC; see the file COPYING. If not, write to the Free 19169689SkanSoftware Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 20169689Skan02110-1301, USA. */ 21169689Skan 22169689Skan/* Before including this file, you should define a macro: 23169689Skan 24169689Skan DEF_GOMP_BUILTIN (ENUM, NAME, TYPE, ATTRS) 25169689Skan 26169689Skan See builtins.def for details. */ 27169689Skan 28169689SkanDEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_THREAD_NUM, "omp_get_thread_num", 29169689Skan BT_FN_INT, ATTR_CONST_NOTHROW_LIST) 30169689SkanDEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_THREADS, "omp_get_num_threads", 31169689Skan BT_FN_INT, ATTR_CONST_NOTHROW_LIST) 32169689Skan 33169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_START, "GOMP_atomic_start", 34169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 35169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_END, "GOMP_atomic_end", 36169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 37169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER, "GOMP_barrier", 38169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 39169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_START, "GOMP_critical_start", 40169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 41169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_END, "GOMP_critical_end", 42169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 43169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_START, 44169689Skan "GOMP_critical_name_start", 45169689Skan BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LIST) 46169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_END, 47169689Skan "GOMP_critical_name_end", 48169689Skan BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LIST) 49169689Skan/* NOTE: Do not change the order of BUILT_IN_GOMP_LOOP_*_START. They 50169689Skan are used in index arithmetic with enum omp_clause_schedule_kind 51169689Skan in omp-low.c. */ 52169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_START, 53169689Skan "GOMP_loop_static_start", 54169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 55169689Skan ATTR_NOTHROW_LIST) 56169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_START, 57169689Skan "GOMP_loop_dynamic_start", 58169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 59169689Skan ATTR_NOTHROW_LIST) 60169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_START, 61169689Skan "GOMP_loop_guided_start", 62169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 63169689Skan ATTR_NOTHROW_LIST) 64169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_START, 65169689Skan "GOMP_loop_runtime_start", 66169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 67169689Skan ATTR_NOTHROW_LIST) 68169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START, 69169689Skan "GOMP_loop_ordered_static_start", 70169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 71169689Skan ATTR_NOTHROW_LIST) 72169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START, 73169689Skan "GOMP_loop_ordered_dynamic_start", 74169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 75169689Skan ATTR_NOTHROW_LIST) 76169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START, 77169689Skan "GOMP_loop_ordered_guided_start", 78169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 79169689Skan ATTR_NOTHROW_LIST) 80169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START, 81169689Skan "GOMP_loop_ordered_runtime_start", 82169689Skan BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 83169689Skan ATTR_NOTHROW_LIST) 84169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_NEXT, "GOMP_loop_static_next", 85169689Skan BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 86169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, "GOMP_loop_dynamic_next", 87169689Skan BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 88169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_NEXT, "GOMP_loop_guided_next", 89169689Skan BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 90169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, "GOMP_loop_runtime_next", 91169689Skan BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 92169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT, 93169689Skan "GOMP_loop_ordered_static_next", 94169689Skan BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 95169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT, 96169689Skan "GOMP_loop_ordered_dynamic_next", 97169689Skan BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 98169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT, 99169689Skan "GOMP_loop_ordered_guided_next", 100169689Skan BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 101169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT, 102169689Skan "GOMP_loop_ordered_runtime_next", 103169689Skan BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 104169689Skan/* NOTE: Do not change the order of BUILT_IN_GOMP_PARALLEL_LOOP_*_START. 105169689Skan They are used in index arithmetic with enum omp_clause_schedule_kind 106169689Skan in omp-low.c. */ 107169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START, 108169689Skan "GOMP_parallel_loop_static_start", 109169689Skan BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG, 110169689Skan ATTR_NOTHROW_LIST) 111169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START, 112169689Skan "GOMP_parallel_loop_dynamic_start", 113169689Skan BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG, 114169689Skan ATTR_NOTHROW_LIST) 115169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START, 116169689Skan "GOMP_parallel_loop_guided_start", 117169689Skan BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG, 118169689Skan ATTR_NOTHROW_LIST) 119169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START, 120169689Skan "GOMP_parallel_loop_runtime_start", 121169689Skan BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG, 122169689Skan ATTR_NOTHROW_LIST) 123169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END, "GOMP_loop_end", 124169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 125169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_NOWAIT, "GOMP_loop_end_nowait", 126169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 127169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_START, "GOMP_ordered_start", 128169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 129169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_END, "GOMP_ordered_end", 130169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 131169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_START, "GOMP_parallel_start", 132169689Skan BT_FN_VOID_OMPFN_PTR_UINT, ATTR_NOTHROW_LIST) 133169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_END, "GOMP_parallel_end", 134169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 135169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_START, "GOMP_sections_start", 136169689Skan BT_FN_UINT_UINT, ATTR_NOTHROW_LIST) 137169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_NEXT, "GOMP_sections_next", 138169689Skan BT_FN_UINT, ATTR_NOTHROW_LIST) 139169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_SECTIONS_START, 140169689Skan "GOMP_parallel_sections_start", 141169689Skan BT_FN_VOID_OMPFN_PTR_UINT_UINT, ATTR_NOTHROW_LIST) 142169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END, "GOMP_sections_end", 143169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 144169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_NOWAIT, 145169689Skan "GOMP_sections_end_nowait", 146169689Skan BT_FN_VOID, ATTR_NOTHROW_LIST) 147169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_START, "GOMP_single_start", 148169689Skan BT_FN_BOOL, ATTR_NOTHROW_LIST) 149169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_START, "GOMP_single_copy_start", 150169689Skan BT_FN_PTR, ATTR_NOTHROW_LIST) 151169689SkanDEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_END, "GOMP_single_copy_end", 152169689Skan BT_FN_VOID_PTR, ATTR_NOTHROW_LIST) 153