164566Sgshapiro/* Definitions for code generation pass of GNU compiler. 264566Sgshapiro Copyright (C) 2001, 2004 Free Software Foundation, Inc. 3266695Sgshapiro 464566SgshapiroThis file is part of GCC. 564566Sgshapiro 6182356SgshapiroGCC is free software; you can redistribute it and/or modify 764566Sgshapiroit under the terms of the GNU General Public License as published by 8182356Sgshapirothe Free Software Foundation; either version 2, or (at your option) 9182356Sgshapiroany later version. 10182356Sgshapiro 1164566SgshapiroGCC is distributed in the hope that it will be useful, 12261359Sgshapirobut WITHOUT ANY WARRANTY; without even the implied warranty of 1364566SgshapiroMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14182356SgshapiroGNU General Public License for more details. 1564566Sgshapiro 16182356SgshapiroYou should have received a copy of the GNU General Public License 17182356Sgshapiroalong with GCC; see the file COPYING. If not, write to 18182356Sgshapirothe Free Software Foundation, 51 Franklin Street, Fifth Floor, 19182356SgshapiroBoston, MA 02110-1301, USA. */ 20182356Sgshapiro 21182356Sgshapiro#ifndef GCC_LIBFUNCS_H 22182356Sgshapiro#define GCC_LIBFUNCS_H 23182356Sgshapiro 24182356Sgshapiro/* Enumeration of indexes into libfunc_table. */ 25182356Sgshapiroenum libfunc_index 26182356Sgshapiro{ 27182356Sgshapiro LTI_abort, 2864566Sgshapiro LTI_memcpy, 29157704Sgshapiro LTI_memmove, 30244834Sgshapiro LTI_memcmp, 31244834Sgshapiro LTI_memset, 3264566Sgshapiro LTI_setbits, 33182356Sgshapiro 34182356Sgshapiro LTI_unwind_resume, 3564566Sgshapiro LTI_eh_personality, 3664566Sgshapiro LTI_setjmp, 3764566Sgshapiro LTI_longjmp, 3864566Sgshapiro LTI_unwind_sjlj_register, 3993857Sgshapiro LTI_unwind_sjlj_unregister, 4093857Sgshapiro 4193857Sgshapiro LTI_profile_function_entry, 4295149Sgshapiro LTI_profile_function_exit, 4393857Sgshapiro 4493857Sgshapiro LTI_gcov_flush, 4593857Sgshapiro 4693857Sgshapiro LTI_MAX 47244834Sgshapiro}; 4894347Sgshapiro 4993857Sgshapiro/* SYMBOL_REF rtx's for the library functions that are called 5093857Sgshapiro implicitly and not via optabs. */ 5193857Sgshapiroextern GTY(()) rtx libfunc_table[LTI_MAX]; 5293857Sgshapiro 5393857Sgshapiro/* Accessor macros for libfunc_table. */ 5493857Sgshapiro 5593857Sgshapiro#define abort_libfunc (libfunc_table[LTI_abort]) 5693857Sgshapiro#define memcpy_libfunc (libfunc_table[LTI_memcpy]) 5793857Sgshapiro#define memmove_libfunc (libfunc_table[LTI_memmove]) 5895149Sgshapiro#define memcmp_libfunc (libfunc_table[LTI_memcmp]) 5993857Sgshapiro#define memset_libfunc (libfunc_table[LTI_memset]) 6093857Sgshapiro#define setbits_libfunc (libfunc_table[LTI_setbits]) 6194260Sgshapiro 6294260Sgshapiro#define unwind_resume_libfunc (libfunc_table[LTI_unwind_resume]) 6393857Sgshapiro#define eh_personality_libfunc (libfunc_table[LTI_eh_personality]) 64127978Sgshapiro#define setjmp_libfunc (libfunc_table[LTI_setjmp]) 6593857Sgshapiro#define longjmp_libfunc (libfunc_table[LTI_longjmp]) 6693857Sgshapiro#define unwind_sjlj_register_libfunc (libfunc_table[LTI_unwind_sjlj_register]) 67121232Sgshapiro#define unwind_sjlj_unregister_libfunc \ 6893857Sgshapiro (libfunc_table[LTI_unwind_sjlj_unregister]) 6993857Sgshapiro 7093857Sgshapiro#define profile_function_entry_libfunc (libfunc_table[LTI_profile_function_entry]) 7193857Sgshapiro#define profile_function_exit_libfunc (libfunc_table[LTI_profile_function_exit]) 7293857Sgshapiro 7393857Sgshapiro#define gcov_flush_libfunc (libfunc_table[LTI_gcov_flush]) 7493857Sgshapiro 7593857Sgshapiro#endif /* GCC_LIBFUNCS_H */ 7693857Sgshapiro