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_expand_prologue (void);
29 extern int rx_initial_elimination_offset (int, int);
32 extern bool rx_compare_redundant (rtx
);
33 extern void rx_emit_stack_popm (rtx
*, bool);
34 extern void rx_emit_stack_pushm (rtx
*);
35 extern void rx_expand_epilogue (bool);
36 extern bool rx_expand_insv (rtx
*);
37 extern const char * rx_gen_cond_branch_template (rtx
, bool);
38 extern char * rx_gen_move_template (rtx
*, bool);
39 extern bool rx_is_legitimate_constant (rtx
);
40 extern bool rx_is_mode_dependent_addr (rtx
);
41 extern bool rx_is_restricted_memory_address (rtx
, Mmode
);
42 extern void rx_notice_update_cc (rtx body
, rtx insn
);
45 #endif /* GCC_RX_PROTOS_H */