omp-builtins.def revision 169689
1115921Sache/* This file contains the definitions and documentation for the 2115921Sache OpenMP builtins used in the GNU compiler. 3115921Sache Copyright (C) 2005 Free Software Foundation, Inc. 4115921Sache 5115921SacheThis file is part of GCC. 6115921Sache 7115921SacheGCC is free software; you can redistribute it and/or modify it under 8115921Sachethe terms of the GNU General Public License as published by the Free 9115921SacheSoftware Foundation; either version 2, or (at your option) any later 10115921Sacheversion. 11115921Sache 12115921SacheGCC is distributed in the hope that it will be useful, but WITHOUT ANY 13115921SacheWARRANTY; without even the implied warranty of MERCHANTABILITY or 14115921SacheFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15115921Sachefor more details. 16115921Sache 17115921SacheYou should have received a copy of the GNU General Public License 18115921Sachealong with GCC; see the file COPYING. If not, write to the Free 19115921SacheSoftware Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 20115921Sache02110-1301, USA. */ 21115921Sache 22115921Sache/* Before including this file, you should define a macro: 23115921Sache 24115921Sache DEF_GOMP_BUILTIN (ENUM, NAME, TYPE, ATTRS) 25115921Sache 26115921Sache See builtins.def for details. */ 27115921Sache 28115921SacheDEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_THREAD_NUM, "omp_get_thread_num", 29115921Sache BT_FN_INT, ATTR_CONST_NOTHROW_LIST) 30115921SacheDEF_GOMP_BUILTIN (BUILT_IN_OMP_GET_NUM_THREADS, "omp_get_num_threads", 31115921Sache BT_FN_INT, ATTR_CONST_NOTHROW_LIST) 32115921Sache 33115921SacheDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_START, "GOMP_atomic_start", 34115925Sache BT_FN_VOID, ATTR_NOTHROW_LIST) 35115921SacheDEF_GOMP_BUILTIN (BUILT_IN_GOMP_ATOMIC_END, "GOMP_atomic_end", 36115921Sache BT_FN_VOID, ATTR_NOTHROW_LIST) 37115921SacheDEF_GOMP_BUILTIN (BUILT_IN_GOMP_BARRIER, "GOMP_barrier", 38115921Sache BT_FN_VOID, ATTR_NOTHROW_LIST) 39115925SacheDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_START, "GOMP_critical_start", 40115921Sache BT_FN_VOID, ATTR_NOTHROW_LIST) 41115921SacheDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_END, "GOMP_critical_end", 42115921Sache BT_FN_VOID, ATTR_NOTHROW_LIST) 43115921SacheDEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_START, 44 "GOMP_critical_name_start", 45 BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LIST) 46DEF_GOMP_BUILTIN (BUILT_IN_GOMP_CRITICAL_NAME_END, 47 "GOMP_critical_name_end", 48 BT_FN_VOID_PTRPTR, ATTR_NOTHROW_LIST) 49/* NOTE: Do not change the order of BUILT_IN_GOMP_LOOP_*_START. They 50 are used in index arithmetic with enum omp_clause_schedule_kind 51 in omp-low.c. */ 52DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_START, 53 "GOMP_loop_static_start", 54 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 55 ATTR_NOTHROW_LIST) 56DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_START, 57 "GOMP_loop_dynamic_start", 58 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 59 ATTR_NOTHROW_LIST) 60DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_START, 61 "GOMP_loop_guided_start", 62 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 63 ATTR_NOTHROW_LIST) 64DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_START, 65 "GOMP_loop_runtime_start", 66 BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 67 ATTR_NOTHROW_LIST) 68DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_START, 69 "GOMP_loop_ordered_static_start", 70 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 71 ATTR_NOTHROW_LIST) 72DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_START, 73 "GOMP_loop_ordered_dynamic_start", 74 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 75 ATTR_NOTHROW_LIST) 76DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_START, 77 "GOMP_loop_ordered_guided_start", 78 BT_FN_BOOL_LONG_LONG_LONG_LONG_LONGPTR_LONGPTR, 79 ATTR_NOTHROW_LIST) 80DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_START, 81 "GOMP_loop_ordered_runtime_start", 82 BT_FN_BOOL_LONG_LONG_LONG_LONGPTR_LONGPTR, 83 ATTR_NOTHROW_LIST) 84DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_STATIC_NEXT, "GOMP_loop_static_next", 85 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 86DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_DYNAMIC_NEXT, "GOMP_loop_dynamic_next", 87 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 88DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_GUIDED_NEXT, "GOMP_loop_guided_next", 89 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 90DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_RUNTIME_NEXT, "GOMP_loop_runtime_next", 91 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 92DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_STATIC_NEXT, 93 "GOMP_loop_ordered_static_next", 94 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 95DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_DYNAMIC_NEXT, 96 "GOMP_loop_ordered_dynamic_next", 97 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 98DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_GUIDED_NEXT, 99 "GOMP_loop_ordered_guided_next", 100 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 101DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_ORDERED_RUNTIME_NEXT, 102 "GOMP_loop_ordered_runtime_next", 103 BT_FN_BOOL_LONGPTR_LONGPTR, ATTR_NOTHROW_LIST) 104/* NOTE: Do not change the order of BUILT_IN_GOMP_PARALLEL_LOOP_*_START. 105 They are used in index arithmetic with enum omp_clause_schedule_kind 106 in omp-low.c. */ 107DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_STATIC_START, 108 "GOMP_parallel_loop_static_start", 109 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG, 110 ATTR_NOTHROW_LIST) 111DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_DYNAMIC_START, 112 "GOMP_parallel_loop_dynamic_start", 113 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG, 114 ATTR_NOTHROW_LIST) 115DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_GUIDED_START, 116 "GOMP_parallel_loop_guided_start", 117 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG_LONG, 118 ATTR_NOTHROW_LIST) 119DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_LOOP_RUNTIME_START, 120 "GOMP_parallel_loop_runtime_start", 121 BT_FN_VOID_OMPFN_PTR_UINT_LONG_LONG_LONG, 122 ATTR_NOTHROW_LIST) 123DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END, "GOMP_loop_end", 124 BT_FN_VOID, ATTR_NOTHROW_LIST) 125DEF_GOMP_BUILTIN (BUILT_IN_GOMP_LOOP_END_NOWAIT, "GOMP_loop_end_nowait", 126 BT_FN_VOID, ATTR_NOTHROW_LIST) 127DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_START, "GOMP_ordered_start", 128 BT_FN_VOID, ATTR_NOTHROW_LIST) 129DEF_GOMP_BUILTIN (BUILT_IN_GOMP_ORDERED_END, "GOMP_ordered_end", 130 BT_FN_VOID, ATTR_NOTHROW_LIST) 131DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_START, "GOMP_parallel_start", 132 BT_FN_VOID_OMPFN_PTR_UINT, ATTR_NOTHROW_LIST) 133DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_END, "GOMP_parallel_end", 134 BT_FN_VOID, ATTR_NOTHROW_LIST) 135DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_START, "GOMP_sections_start", 136 BT_FN_UINT_UINT, ATTR_NOTHROW_LIST) 137DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_NEXT, "GOMP_sections_next", 138 BT_FN_UINT, ATTR_NOTHROW_LIST) 139DEF_GOMP_BUILTIN (BUILT_IN_GOMP_PARALLEL_SECTIONS_START, 140 "GOMP_parallel_sections_start", 141 BT_FN_VOID_OMPFN_PTR_UINT_UINT, ATTR_NOTHROW_LIST) 142DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END, "GOMP_sections_end", 143 BT_FN_VOID, ATTR_NOTHROW_LIST) 144DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SECTIONS_END_NOWAIT, 145 "GOMP_sections_end_nowait", 146 BT_FN_VOID, ATTR_NOTHROW_LIST) 147DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_START, "GOMP_single_start", 148 BT_FN_BOOL, ATTR_NOTHROW_LIST) 149DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_START, "GOMP_single_copy_start", 150 BT_FN_PTR, ATTR_NOTHROW_LIST) 151DEF_GOMP_BUILTIN (BUILT_IN_GOMP_SINGLE_COPY_END, "GOMP_single_copy_end", 152 BT_FN_VOID_PTR, ATTR_NOTHROW_LIST) 153