OSDN Git Service

* doc/invoke.texi (Option Summary): Add ms1 options.
[pf3gnuchains/gcc-fork.git] / gcc / config / ms1 / ms1-protos.h
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         ms1_init_expanders   (void);
22 extern void         ms1_expand_prologue  (void);
23 extern void         ms1_expand_epilogue  (enum epilogue_type);
24 extern unsigned     ms1_compute_frame_size (int);
25 extern void         ms1_override_options (void);
26 extern int          ms1_initial_elimination_offset (int, int);
27 extern const char * ms1_asm_output_opcode (FILE *, const char *);
28 extern int          ms1_epilogue_uses    (int);
29
30 #ifdef TREE_CODE
31 extern const char * ms1_cannot_inline_p  (tree);
32 extern int          ms1_function_arg_boundary (enum machine_mode, tree);
33 extern void         ms1_function_arg_advance (CUMULATIVE_ARGS *, enum machine_mode, tree,  int);
34 #endif
35
36 #ifdef RTX_CODE
37 extern void         ms1_expand_eh_return (rtx *);
38 extern void         ms1_emit_eh_epilogue (rtx *);
39 extern void         ms1_print_operand    (FILE *, rtx, int);
40 extern void         ms1_print_operand_address (FILE *, rtx);
41 extern int          ms1_check_split      (rtx, enum machine_mode);
42 extern int          ms1_reg_ok_for_base_p (rtx, int);
43 extern int          ms1_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         ms1_emit_cbranch     (enum rtx_code, rtx, rtx, rtx);
51 extern void         ms1_set_memflags     (rtx);
52 extern rtx          ms1_return_addr_rtx  (int);
53 extern void         ms1_split_words      (enum machine_mode, enum machine_mode, rtx *);
54 extern void         ms1_final_prescan_insn (rtx, rtx *, int);
55 #endif
56
57 #ifdef TREE_CODE
58 #ifdef RTX_CODE
59 extern void         ms1_init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int);
60 extern rtx          ms1_function_arg     (const CUMULATIVE_ARGS *, enum machine_mode, tree, int, int);
61 extern void         ms1_va_start         (tree, rtx);
62 extern enum reg_class ms1_secondary_reload_class (enum reg_class, enum machine_mode, rtx);
63 extern rtx          ms1_function_value   (tree, enum machine_mode, tree);
64 #endif
65 #endif