1 /* Prototypes for v850.c functions used in the md file & elsewhere. 2 Copyright (C) 1999-2016 Free Software Foundation, Inc. 3 4 This file is part of GCC. 5 6 GCC is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 3, or (at your option) 9 any later version. 10 11 GCC is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 GNU General Public License for more details. 15 16 You should have received a copy of the GNU General Public License 17 along with GCC; see the file COPYING3. If not see 18 <http://www.gnu.org/licenses/>. */ 19 20 /* Function prototypes that cannot exist in v850.h due to dependency 21 complications. */ 22 #ifndef GCC_V850_PROTOS_H 23 #define GCC_V850_PROTOS_H 24 25 extern void expand_prologue (void); 26 extern void expand_epilogue (void); 27 extern int v850_handle_pragma (int (*)(void), void (*)(int), char *); 28 extern int compute_register_save_size (long *); 29 extern int compute_frame_size (int, long *); 30 extern void v850_init_expanders (void); 31 32 #ifdef RTX_CODE 33 extern rtx v850_return_addr (int); 34 extern const char *output_move_single (rtx *); 35 extern void notice_update_cc (rtx, rtx_insn *); 36 extern char * construct_save_jarl (rtx); 37 extern char * construct_restore_jr (rtx); 38 #ifdef HAVE_MACHINE_MODES 39 extern char * construct_dispose_instruction (rtx); 40 extern char * construct_prepare_instruction (rtx); 41 extern int ep_memory_operand (rtx, machine_mode, int); 42 extern int v850_adjust_insn_length (rtx_insn *, int); 43 extern const char * v850_gen_movdi (rtx *); 44 extern rtx v850_gen_compare (enum rtx_code, machine_mode, 45 rtx, rtx); 46 extern machine_mode v850_gen_float_compare (enum rtx_code, 47 machine_mode, rtx, rtx); 48 extern machine_mode v850_select_cc_mode (RTX_CODE, rtx, rtx); 49 #endif 50 #endif /* RTX_CODE */ 51 52 #ifdef TREE_CODE 53 extern int v850_interrupt_function_p (tree); 54 extern void v850_output_aligned_bss (FILE *, tree, const char *, unsigned HOST_WIDE_INT, int); 55 extern void v850_output_common (FILE *, tree, const char *, int, int); 56 extern void v850_output_local (FILE *, tree, const char *, int, int); 57 extern v850_data_area v850_get_data_area (tree); 58 #endif 59 60 extern void ghs_pragma_section (struct cpp_reader *); 61 extern void ghs_pragma_interrupt (struct cpp_reader *); 62 extern void ghs_pragma_starttda (struct cpp_reader *); 63 extern void ghs_pragma_startsda (struct cpp_reader *); 64 extern void ghs_pragma_startzda (struct cpp_reader *); 65 extern void ghs_pragma_endtda (struct cpp_reader *); 66 extern void ghs_pragma_endsda (struct cpp_reader *); 67 extern void ghs_pragma_endzda (struct cpp_reader *); 68 69 #endif /* ! GCC_V850_PROTOS_H */ 70