From 73e8e1ecab9b85e451a5008b2601d6d13747b0ed Mon Sep 17 00:00:00 2001 From: Richard Stallman Date: Fri, 24 Sep 1993 19:22:11 +0000 Subject: [PATCH] (BYTECODE_LABEL, BYTECODE_OFFSET, BYTECODE_BC_LABEL): (BYTECODE_UID): New macros. (struct rtx_def): Delete elements label, offset, bc_label, uid. From-SVN: r5446 --- gcc/rtl.h | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/gcc/rtl.h b/gcc/rtl.h index 945fbc8d22c..c65afba9f73 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -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. */ -- 2.30.2