summaryrefslogtreecommitdiff
path: root/gcc/config/rx/rx-protos.h
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2009-10-26 16:30:15 +0000
committerNick Clifton <nickc@gcc.gnu.org>2009-10-26 16:30:15 +0000
commit65a324b459e60405cebe9e34ee6b3496559cd217 (patch)
treee1437bbfc9a877b53e0a37ddd53113c0601389c2 /gcc/config/rx/rx-protos.h
parent03428d41b13382c2772efba5d1d2582312afbd40 (diff)
downloadgcc-65a324b459e60405cebe9e34ee6b3496559cd217.tar.gz
MAINTAINERS: Add myself as a maintainer for the RX port.
* MAINTAINERS: Add myself as a maintainer for the RX port. gcc * config.gcc: Add support for RX target. * config/rx: New directory. * config/rx/constraints.md: New file. * config/rx/predicates.md: New file. * config/rx/rx.c: New file. * config/rx/rx.h: New file. * config/rx/rx.md: New file. * config/rx/rx.opt: New file. * config/rx/rx-protos.h: New file. * config/rx/t-rx: New file. * doc/extend.texi: Document RX function attributes. * doc/invoke.texi: Document RX specific command line options. * doc/contrib.texi: Document RX contribution. * doc/md.texi: Document RX constraints. * doc/install.texi: Document RX support. libgcc * config.host: Add support for RX target. * config/rx: New directory. * config/rx/rx-abi-functions.c: New file. Supplementary functions for libgcc to support the RX ABI. * config/rx/rx-abi.h: New file. Supplementary header file for libgcc RX ABI functions. * config/rx/t-rx: New file: Makefile fragment for building libgcc for the RX. gcc/testsuite * lib/target-supports.exp (check_profiling_available): Profiling is not, currently, available for the RX port. (check_effective_target_hard_float): Add support for RX target. * gcc.target/rx: New directory. * gcc.target/rx/builtins.c: New test file. * gcc.target/rx/interrupts.c: New test file. * gcc.target/rx/rx-abi-function-tests.c: New test file. * gcc.target/rx/zero-width-bitfield.c: New test file. * gcc.target/rx/i272091.c: New test file. * gcc.target/rx/packed-struct.c: New test file. * gcc.target/rx/rx.exp: New file: Drives RX tests. From-SVN: r153557
Diffstat (limited to 'gcc/config/rx/rx-protos.h')
-rw-r--r--gcc/config/rx/rx-protos.h52
1 files changed, 52 insertions, 0 deletions
diff --git a/gcc/config/rx/rx-protos.h b/gcc/config/rx/rx-protos.h
new file mode 100644
index 00000000000..5c37fe0a83c
--- /dev/null
+++ b/gcc/config/rx/rx-protos.h
@@ -0,0 +1,52 @@
+/* Exported function prototypes from the Renesas RX backend.
+ Copyright (C) 2008, 2009 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
+
+extern void rx_conditional_register_usage (void);
+extern void rx_expand_prologue (void);
+extern int rx_initial_elimination_offset (int, int);
+
+#ifdef RTX_CODE
+extern void rx_emit_stack_popm (rtx *, bool);
+extern void rx_emit_stack_pushm (rtx *);
+extern void rx_expand_epilogue (bool);
+extern bool rx_expand_insv (rtx *);
+extern const char * rx_gen_cond_branch_template (rtx, bool);
+extern char * rx_gen_move_template (rtx *, bool);
+extern bool rx_is_legitimate_constant (rtx);
+extern bool rx_is_mode_dependent_addr (rtx);
+extern bool rx_is_restricted_memory_address (rtx, Mmode);
+extern void rx_notice_update_cc (rtx body, rtx insn);
+extern void rx_print_operand (FILE *, rtx, int);
+extern void rx_print_operand_address (FILE *, rtx);
+#endif
+
+#ifdef TREE_CODE
+extern unsigned int rx_function_arg_size (Mmode, const_tree);
+extern struct rtx_def * rx_function_arg (Fargs *, Mmode, const_tree, bool);
+#endif
+
+#endif /* GCC_RX_PROTOS_H */