xref: /openbsd-src/gnu/gcc/gcc/config/mt/mt-protos.h (revision 404b540a9034ac75a6199ad1a32d1bbc7a0d4210)
1 /* Prototypes for exported functions defined in ms1.c
2    Copyright (C) 2005 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 it
7    under the terms of the GNU General Public License as published
8    by the Free Software Foundation; either version 2, or (at your
9    option) any later version.
10 
11    GCC is distributed in the hope that it will be useful,but WITHOUT
12    ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13    or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
14    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 COPYING.  If not, write to the Free
18    Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
19    02110-1301, USA.  */
20 
21 extern void         mt_init_expanders	 (void);
22 extern void         mt_expand_prologue	 (void);
23 extern void         mt_expand_epilogue	 (enum epilogue_type);
24 extern unsigned     mt_compute_frame_size (int);
25 extern void	    mt_override_options (void);
26 extern int	    mt_initial_elimination_offset (int, int);
27 extern const char * mt_asm_output_opcode (FILE *, const char *);
28 extern int          mt_epilogue_uses	 (int);
29 extern void	    mt_add_loop 	 (void);
30 
31 #ifdef TREE_CODE
32 extern const char * mt_cannot_inline_p	 (tree);
33 extern int          mt_function_arg_boundary (enum machine_mode, tree);
34 extern void         mt_function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode, tree,  int);
35 #endif
36 
37 #ifdef RTX_CODE
38 extern void	    mt_expand_eh_return (rtx *);
39 extern void	    mt_emit_eh_epilogue (rtx *);
40 extern void         mt_print_operand	 (FILE *, rtx, int);
41 extern void         mt_print_operand_address (FILE *, rtx);
42 extern int          mt_check_split	 (rtx, enum machine_mode);
43 extern int          mt_reg_ok_for_base_p (rtx, int);
44 extern int          mt_legitimate_address_p (enum machine_mode, rtx, int);
45 /* Predicates for machine description.  */
46 extern int          uns_arith_operand	 (rtx, enum machine_mode);
47 extern int          arith_operand	 (rtx, enum machine_mode);
48 extern int          reg_or_0_operand	 (rtx, enum machine_mode);
49 extern int	    big_const_operand	 (rtx, enum machine_mode);
50 extern int	    single_const_operand (rtx, enum machine_mode);
51 extern void	    mt_emit_cbranch	 (enum rtx_code, rtx, rtx, rtx);
52 extern void	    mt_set_memflags	 (rtx);
53 extern rtx	    mt_return_addr_rtx	 (int);
54 extern void	    mt_split_words	 (enum machine_mode, enum machine_mode, rtx *);
55 extern void	    mt_final_prescan_insn (rtx, rtx *, int);
56 #endif
57 
58 #ifdef TREE_CODE
59 #ifdef RTX_CODE
60 extern void         mt_init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int);
61 extern rtx          mt_function_arg	 (const CUMULATIVE_ARGS *, enum machine_mode, tree, int, int);
62 extern void	    mt_va_start	 (tree, rtx);
63 extern enum reg_class mt_secondary_reload_class (enum reg_class, enum machine_mode, rtx);
64 extern rtx	    mt_function_value	 (tree, enum machine_mode, tree);
65 #endif
66 #endif
67