Merged revisions 208012,208018-208019,208021,208023-208030,208033,208037,208040-20804...
[official-gcc.git] / main / gcc / config / msp430 / msp430-protos.h
blob7f999abbdabba1bd2ebdbc74645ee2fa428d22c9
1 /* Exported function prototypes from the TI MSP430 backend.
2 Copyright (C) 2012-2014 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 #ifndef GCC_MSP430_PROTOS_H
22 #define GCC_MSP430_PROTOS_H
24 rtx msp430_eh_return_stackadj_rtx (void);
25 void msp430_expand_eh_return (rtx);
26 void msp430_expand_epilogue (int);
27 void msp430_expand_helper (rtx *operands, const char *, bool);
28 void msp430_expand_prologue (void);
29 const char * msp430x_extendhisi (rtx *);
30 void msp430_fixup_compare_operands (enum machine_mode, rtx *);
31 int msp430_hard_regno_mode_ok (int, enum machine_mode);
32 int msp430_hard_regno_nregs (int, enum machine_mode);
33 bool msp430_hwmult_enabled (void);
34 rtx msp430_incoming_return_addr_rtx (void);
35 void msp430_init_cumulative_args (CUMULATIVE_ARGS *, tree, rtx, tree, int);
36 int msp430_initial_elimination_offset (int, int);
37 bool msp430_is_f5_mcu (void);
38 bool msp430_is_interrupt_func (void);
39 const char * msp430x_logical_shift_right (rtx);
40 const char * msp430_mcu_name (void);
41 bool msp430_modes_tieable_p (enum machine_mode, enum machine_mode);
42 void msp430_output_labelref (FILE *, const char *);
43 void msp430_register_pragmas (void);
44 rtx msp430_return_addr_rtx (int);
45 void msp430_split_movsi (rtx *);
46 void msp430_start_function (FILE *, const char *, tree);
47 rtx msp430_subreg (enum machine_mode, rtx, enum machine_mode, int);
49 #endif /* GCC_MSP430_PROTOS_H */