diff options
author | Richard Stallman <rms@gnu.org> | 1993-09-24 19:22:11 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1993-09-24 19:22:11 +0000 |
commit | 73e8e1ecab9b85e451a5008b2601d6d13747b0ed (patch) | |
tree | 7084f81741434a61862b1369b8aa7db37c0f9352 | |
parent | ff32812a4744c908eabf8ca2cc09f4d9d6fc3eef (diff) | |
download | gcc-73e8e1ecab9b85e451a5008b2601d6d13747b0ed.zip gcc-73e8e1ecab9b85e451a5008b2601d6d13747b0ed.tar.gz gcc-73e8e1ecab9b85e451a5008b2601d6d13747b0ed.tar.bz2 |
(BYTECODE_LABEL, BYTECODE_OFFSET, BYTECODE_BC_LABEL):
(BYTECODE_UID): New macros.
(struct rtx_def): Delete elements label, offset, bc_label, uid.
From-SVN: r5446
-rw-r--r-- | gcc/rtl.h | 28 |
1 files changed, 12 insertions, 16 deletions
@@ -139,24 +139,9 @@ typedef struct rtx_def The number of operands and their types are controlled by the `code' field, according to rtl.def. */ rtunion fld[1]; - - /* The rest is used instead of the above if bytecode is being output */ - - /* For static or external objects. */ - char *label; - - /* From the named label, or the local variable pointer or the - argument pointer, depending on context. */ - - int offset; - - /* For goto labels inside bytecode functions. */ - struct bc_label *bc_label; - - /* A unique identifier */ - int uid; } *rtx; + /* Add prototype support. */ #ifndef PROTO #if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__) @@ -434,6 +419,17 @@ extern char *note_insn_name[]; of LABEL_REFs that point at it, so unused labels can be deleted. */ #define LABEL_NUSES(LABEL) ((LABEL)->fld[5].rtint) +/* The rest is used instead of the above, in a CODE_LABEL, + if bytecode is being output. + We make the slightly klugy assumption that a LABEL has enough slots + to hold these things. That happens to be true. */ + +/* For static or external objects. */ +#define BYTECODE_LABEL(X) (XEXP ((X), 0)) + +/* For goto labels inside bytecode functions. */ +#define BYTECODE_BC_LABEL(X) (*(struct bc_label **) &XEXP ((X), 1)) + /* In jump.c, each JUMP_INSN can point to a label that it can jump to, so that if the JUMP_INSN is deleted, the label's LABEL_NUSES can be decremented and possibly the label can be deleted. */ |