Commit 73e8e1ec by Richard Stallman

(BYTECODE_LABEL, BYTECODE_OFFSET, BYTECODE_BC_LABEL):

(BYTECODE_UID): New macros.
(struct rtx_def): Delete elements label, offset, bc_label, uid.

From-SVN: r5446
parent ff32812a
...@@ -139,24 +139,9 @@ typedef struct rtx_def ...@@ -139,24 +139,9 @@ typedef struct rtx_def
The number of operands and their types are controlled The number of operands and their types are controlled
by the `code' field, according to rtl.def. */ by the `code' field, according to rtl.def. */
rtunion fld[1]; 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; } *rtx;
/* Add prototype support. */ /* Add prototype support. */
#ifndef PROTO #ifndef PROTO
#if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__) #if defined (USE_PROTOTYPES) ? USE_PROTOTYPES : defined (__STDC__)
...@@ -434,6 +419,17 @@ extern char *note_insn_name[]; ...@@ -434,6 +419,17 @@ extern char *note_insn_name[];
of LABEL_REFs that point at it, so unused labels can be deleted. */ of LABEL_REFs that point at it, so unused labels can be deleted. */
#define LABEL_NUSES(LABEL) ((LABEL)->fld[5].rtint) #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, /* 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 so that if the JUMP_INSN is deleted, the label's LABEL_NUSES can
be decremented and possibly the label can be deleted. */ be decremented and possibly the label can be deleted. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment