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.
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
27 #define Rcode enum rtx_code
29 extern int rx_align_for_label (void);
30 extern void rx_expand_prologue (void);
31 extern int rx_initial_elimination_offset (int, int);
34 extern int rx_adjust_insn_length (rtx, int);
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 char * rx_gen_move_template (rtx *, bool);
39 extern bool rx_is_legitimate_constant (rtx);
40 extern bool rx_is_restricted_memory_address (rtx, Mmode);
41 extern bool rx_match_ccmode (rtx, Mmode);
42 extern void rx_notice_update_cc (rtx body, rtx insn);
43 extern void rx_split_cbranch (Mmode, Rcode, rtx, rtx, rtx);
44 extern Mmode rx_select_cc_mode (Rcode, rtx, rtx);
47 #endif /* GCC_RX_PROTOS_H */