aboutsummaryrefslogtreecommitdiff
path: root/gcc/rtl.h
diff options
context:
space:
mode:
authorRichard Henderson <rth@cygnus.com>1998-01-08 13:17:05 -0800
committerRichard Henderson <rth@gcc.gnu.org>1998-01-08 13:17:05 -0800
commit3b80f6ca69f78207e8fcf8e835a4a8aa2e4abfba (patch)
treec792e877a8974b6884a66403f5d9b9ee06c23290 /gcc/rtl.h
parentf4a233434d41848d9ae3bcb0f9518dfd986143ba (diff)
downloadgcc-3b80f6ca69f78207e8fcf8e835a4a8aa2e4abfba.zip
gcc-3b80f6ca69f78207e8fcf8e835a4a8aa2e4abfba.tar.gz
gcc-3b80f6ca69f78207e8fcf8e835a4a8aa2e4abfba.tar.bz2
Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits.
* Makefile.in (OBJ, GEN, RTL_H): Add genrtl.[oh] bits. * emit-rtl.c (gen_rtx): Move special code to ... (gen_rtx_CONST_INT): New function. (gen_rtx_REG): New function. (*): Update all calls to gen_rtx. * genemit.c (gen_exp): Emit calls to gen_rtx_FOO for constant FOO. * rtl.h: Include genrtl.h; prototype CONST_INT & REG generators. (GEN_INT): Call gen_rtx_CONST_INT. * gengenrtl.c: New file. From-SVN: r17312
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r--gcc/rtl.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h
index 683546e..b7d7019 100644
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -681,8 +681,6 @@ extern int ceil_log2 PROTO((unsigned HOST_WIDE_INT));
extern rtx plus_constant_wide PROTO((rtx, HOST_WIDE_INT));
extern rtx plus_constant_for_output_wide PROTO((rtx, HOST_WIDE_INT));
-#define GEN_INT(N) gen_rtx (CONST_INT, VOIDmode, (HOST_WIDE_INT) (N))
-
struct bc_label;
extern rtx bc_gen_rtx PROTO ((char *, int,
struct bc_label *));
@@ -934,6 +932,22 @@ extern rtx struct_value_incoming_rtx;
extern rtx static_chain_rtx;
extern rtx static_chain_incoming_rtx;
+
+/* Include the RTL generation functions. */
+
+#ifndef NO_GENRTL_H
+#include "genrtl.h"
+#endif
+
+/* There are two RTL codes that require special attention; the generation
+ functions included above do the raw handling. */
+
+extern rtx gen_rtx_CONST_INT PROTO((enum machine_mode, HOST_WIDE_INT));
+extern rtx gen_rtx_REG PROTO((enum machine_mode, int));
+
+#define GEN_INT(N) gen_rtx_CONST_INT (VOIDmode, (N))
+
+
/* If HARD_FRAME_POINTER_REGNUM is defined, then a special dummy reg
is used to represent the frame pointer. This is because the
hard frame pointer and the automatic variables are separated by an amount
@@ -1376,4 +1390,3 @@ extern void init_alias_analysis PROTO ((void));
extern void end_alias_analysis PROTO ((void));
#endif /* _RTL_H */
-