xref: /netbsd-src/external/gpl3/gcc.old/dist/gcc/config/rx/rx-protos.h (revision 230b95665bbd3a9d1a53658a36b1053f8382a519)
1 /* Exported function prototypes from the Renesas RX backend.
2    Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
3    Contributed by Red Hat.
4 
5    This file is part of GCC.
6 
7    GCC is free software; you can redistribute it and/or modify
8    it under the terms of the GNU General Public License as published by
9    the Free Software Foundation; either version 3, or (at your option)
10    any later version.
11 
12    GCC is distributed in the hope that it will be useful,
13    but WITHOUT ANY WARRANTY; without even the implied warranty of
14    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15    GNU General Public License for more details.
16 
17    You should have received a copy of the GNU General Public License
18    along with GCC; see the file COPYING3.  If not see
19    <http://www.gnu.org/licenses/>.  */
20 
21 #ifndef GCC_RX_PROTOS_H
22 #define GCC_RX_PROTOS_H
23 
24 /* A few abbreviations to make the prototypes shorter.  */
25 #define Mmode 	enum machine_mode
26 #define Fargs	CUMULATIVE_ARGS
27 
28 extern void		rx_conditional_register_usage (void);
29 extern void		rx_expand_prologue (void);
30 extern int		rx_initial_elimination_offset (int, int);
31 extern void		rx_set_optimization_options (void);
32 
33 #ifdef RTX_CODE
34 extern int 		rx_align_for_label (rtx);
35 extern bool		rx_compare_redundant (rtx);
36 extern void             rx_emit_stack_popm (rtx *, bool);
37 extern void             rx_emit_stack_pushm (rtx *);
38 extern void		rx_expand_epilogue (bool);
39 extern const char *	rx_gen_cond_branch_template (rtx, bool);
40 extern char *		rx_gen_move_template (rtx *, bool);
41 extern bool		rx_is_legitimate_constant (rtx);
42 extern bool 		rx_is_mode_dependent_addr (rtx);
43 extern bool		rx_is_restricted_memory_address (rtx, Mmode);
44 extern bool		rx_match_ccmode (rtx, Mmode);
45 extern int		rx_max_skip_for_label (rtx);
46 extern void		rx_notice_update_cc (rtx body, rtx insn);
47 extern void		rx_print_operand (FILE *, rtx, int);
48 extern void		rx_print_operand_address (FILE *, rtx);
49 extern Mmode		rx_select_cc_mode (enum rtx_code, rtx, rtx);
50 extern void		rx_split_cbranch (Mmode, enum rtx_code, rtx, rtx, rtx);
51 #endif
52 
53 #ifdef TREE_CODE
54 extern unsigned int     rx_function_arg_size (Mmode, const_tree);
55 extern struct rtx_def * rx_function_arg (Fargs *, Mmode, const_tree, bool);
56 #endif
57 
58 #endif /* GCC_RX_PROTOS_H */
59