Merge -r 127928:132243 from trunk
[official-gcc.git] / gcc / config / mt / mt-protos.h
blob99717dc5eff0a3e82b62cdc8724e7c36dd15409d
1 /* Prototypes for exported functions defined in ms1.c
2 Copyright (C) 2005, 2007 Free Software Foundation, Inc.
4 This file is part of GCC.
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 3, or (at your
9 option) any later version.
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.
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/>. */
20 extern void mt_init_expanders (void);
21 extern void mt_expand_prologue (void);
22 extern void mt_expand_epilogue (enum epilogue_type);
23 extern unsigned mt_compute_frame_size (int);
24 extern void mt_override_options (void);
25 extern int mt_initial_elimination_offset (int, int);
26 extern const char * mt_asm_output_opcode (FILE *, const char *);
27 extern int mt_epilogue_uses (int);
28 extern void mt_add_loop (void);
30 #ifdef TREE_CODE
31 extern const char * mt_cannot_inline_p (tree);
32 extern int mt_function_arg_boundary (enum machine_mode, tree);
33 extern void mt_function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode, tree, int);
34 #endif
36 #ifdef RTX_CODE
37 extern void mt_expand_eh_return (rtx *);
38 extern void mt_emit_eh_epilogue (rtx *);
39 extern void mt_print_operand (FILE *, rtx, int);
40 extern void mt_print_operand_address (FILE *, rtx);
41 extern int mt_check_split (rtx, enum machine_mode);
42 extern int mt_reg_ok_for_base_p (rtx, int);
43 extern int mt_legitimate_address_p (enum machine_mode, rtx, int);
44 /* Predicates for machine description. */
45 extern int uns_arith_operand (rtx, enum machine_mode);
46 extern int arith_operand (rtx, enum machine_mode);
47 extern int reg_or_0_operand (rtx, enum machine_mode);
48 extern int big_const_operand (rtx, enum machine_mode);
49 extern int single_const_operand (rtx, enum machine_mode);
50 extern void mt_emit_cbranch (enum rtx_code, rtx, rtx, rtx);
51 extern void mt_set_memflags (rtx);
52 extern rtx mt_return_addr_rtx (int);
53 extern void mt_split_words (enum machine_mode, enum machine_mode, rtx *);
54 extern void mt_final_prescan_insn (rtx, rtx *, int);
55 #endif
57 #ifdef TREE_CODE
58 #ifdef RTX_CODE
59 extern void mt_init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int);
60 extern rtx mt_function_arg (const CUMULATIVE_ARGS *, enum machine_mode, tree, int, int);
61 extern enum reg_class mt_secondary_reload_class (enum reg_class, enum machine_mode, rtx);
62 extern rtx mt_function_value (const_tree, enum machine_mode, const_tree);
63 #endif
64 #endif