PR/56490
[official-gcc.git] / gcc / config / rl78 / rl78-protos.h
blobb13c65065d178c320f7af9a18a8e27cde4df3d31
1 /* Prototypes for Renesas RL78 processors
2 Copyright (C) 2011-2013 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)
10 any later version.
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 void rl78_emit_eh_epilogue (rtx);
22 void rl78_expand_compare (rtx *);
23 void rl78_expand_movsi (rtx *);
24 int rl78_force_nonfar_2 (rtx *, rtx (*gen)(rtx,rtx));
25 int rl78_force_nonfar_3 (rtx *, rtx (*gen)(rtx,rtx,rtx));
26 void rl78_expand_eh_epilogue (rtx);
27 void rl78_expand_epilogue (void);
28 void rl78_expand_prologue (void);
29 int rl78_far_p (rtx x);
30 int rl78_hard_regno_mode_ok (int, enum machine_mode);
31 int rl78_hard_regno_nregs (int, enum machine_mode);
32 bool rl78_hl_b_c_addr_p (rtx);
33 int rl78_initial_elimination_offset (int, int);
34 bool rl78_as_legitimate_address (enum machine_mode, rtx,
35 bool, addr_space_t);
36 int rl78_legitimize_reload_address (rtx *, enum machine_mode, int,int, int);
37 enum reg_class rl78_mode_code_base_reg_class (enum machine_mode, addr_space_t, int, int);
38 bool rl78_peep_movhi_p (rtx *);
39 bool rl78_real_insns_ok (void);
40 void rl78_register_pragmas (void);
41 bool rl78_regno_mode_code_ok_for_base_p (int, enum machine_mode, addr_space_t, int, int);
42 void rl78_setup_peep_movhi (rtx *);
43 bool rl78_virt_insns_ok (void);