#ifndef GCC_LIBFUNCS_H
#define GCC_LIBFUNCS_H
#ifdef ENABLE_LLVM
#include "tree.h"
#endif
enum libfunc_index
{
LTI_abort,
LTI_memcpy,
LTI_memmove,
LTI_memcmp,
LTI_memset,
LTI_setbits,
LTI_unwind_resume,
LTI_eh_personality,
LTI_setjmp,
LTI_longjmp,
LTI_unwind_sjlj_register,
LTI_unwind_sjlj_unregister,
LTI_profile_function_entry,
LTI_profile_function_exit,
LTI_gcov_flush,
LTI_MAX
};
extern GTY(()) rtx libfunc_table[LTI_MAX];
extern GTY(()) tree llvm_libfunc_table[LTI_MAX];
#define abort_libfunc (libfunc_table[LTI_abort])
#define memcpy_libfunc (libfunc_table[LTI_memcpy])
#define memmove_libfunc (libfunc_table[LTI_memmove])
#define memcmp_libfunc (libfunc_table[LTI_memcmp])
#define memset_libfunc (libfunc_table[LTI_memset])
#define setbits_libfunc (libfunc_table[LTI_setbits])
#define unwind_resume_libfunc (libfunc_table[LTI_unwind_resume])
#define eh_personality_libfunc (libfunc_table[LTI_eh_personality])
#define setjmp_libfunc (libfunc_table[LTI_setjmp])
#define longjmp_libfunc (libfunc_table[LTI_longjmp])
#define unwind_sjlj_register_libfunc (libfunc_table[LTI_unwind_sjlj_register])
#define unwind_sjlj_unregister_libfunc \
(libfunc_table[LTI_unwind_sjlj_unregister])
#ifdef ENABLE_LLVM
#define llvm_unwind_resume_libfunc (llvm_libfunc_table[LTI_unwind_resume])
#define llvm_eh_personality_libfunc (llvm_libfunc_table[LTI_eh_personality])
#else
#define llvm_unwind_resume_libfunc unwind_resume_libfunc
#define llvm_eh_personality_libfunc eh_personality_libfunc
#endif
#define profile_function_entry_libfunc (libfunc_table[LTI_profile_function_entry])
#define profile_function_exit_libfunc (libfunc_table[LTI_profile_function_exit])
#define gcov_flush_libfunc (libfunc_table[LTI_gcov_flush])
#endif