summaryrefslogtreecommitdiff
path: root/gcc/config/rx/rx-protos.h
blob: 8c8862ef27ace99d7b62b209826cc3cbb488c2df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* Exported function prototypes from the Renesas RX backend.
   Copyright (C) 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
   Contributed by Red Hat.

   This file is part of GCC.

   GCC is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
   the Free Software Foundation; either version 3, or (at your option)
   any later version.

   GCC is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.

   You should have received a copy of the GNU General Public License
   along with GCC; see the file COPYING3.  If not see
   <http://www.gnu.org/licenses/>.  */

#ifndef GCC_RX_PROTOS_H
#define GCC_RX_PROTOS_H

/* A few abbreviations to make the prototypes shorter.  */
#define Mmode 	enum machine_mode
#define Fargs	CUMULATIVE_ARGS
#define Rcode	enum rtx_code

extern void		rx_expand_prologue (void);
extern int		rx_initial_elimination_offset (int, int);

#ifdef RTX_CODE
extern int 		rx_align_for_label (rtx, int);
extern void             rx_emit_stack_popm (rtx *, bool);
extern void             rx_emit_stack_pushm (rtx *);
extern void		rx_expand_epilogue (bool);
extern char *		rx_gen_move_template (rtx *, bool);
extern bool		rx_is_legitimate_constant (rtx);
extern bool		rx_is_restricted_memory_address (rtx, Mmode);
extern bool		rx_match_ccmode (rtx, Mmode);
extern void		rx_notice_update_cc (rtx, rtx);
extern void		rx_split_cbranch (Mmode, Rcode, rtx, rtx, rtx);
extern Mmode		rx_select_cc_mode (Rcode, rtx, rtx);
#endif

#endif /* GCC_RX_PROTOS_H */