1 /* Exported function prototypes from the Renesas RX backend.
2 Copyright (C) 2008, 2009, 2010 Free Software Foundation, Inc.
3 Contributed by Red Hat.
5 This file is part of GCC.
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)
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.
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/>. */
21 #ifndef GCC_RX_PROTOS_H
22 #define GCC_RX_PROTOS_H
24 /* A few abbreviations to make the prototypes shorter. */
25 #define Mmode enum machine_mode
26 #define Fargs CUMULATIVE_ARGS
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);
34 extern bool rx_compare_redundant (rtx
);
35 extern void rx_emit_stack_popm (rtx
*, bool);
36 extern void rx_emit_stack_pushm (rtx
*);
37 extern void rx_expand_epilogue (bool);
38 extern bool rx_expand_insv (rtx
*);
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 void rx_notice_update_cc (rtx body
, rtx insn
);
48 extern unsigned int rx_function_arg_size (Mmode
, const_tree
);
49 extern struct rtx_def
* rx_function_arg (Fargs
*, Mmode
, const_tree
, bool);
52 #endif /* GCC_RX_PROTOS_H */