diff options
author | Richard Henderson <rth@cygnus.com> | 1998-01-08 13:17:05 -0800 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 1998-01-08 13:17:05 -0800 |
commit | 3b80f6ca69f78207e8fcf8e835a4a8aa2e4abfba (patch) | |
tree | c792e877a8974b6884a66403f5d9b9ee06c23290 /gcc/rtl.h | |
parent | f4a233434d41848d9ae3bcb0f9518dfd986143ba (diff) | |
download | gcc-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.h | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -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 */ - |