Commit f754c4a1 by Jeffrey A Law Committed by Jeff Law

rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES and LABEL_REFS fields.

        * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
        and LABEL_REFS fields.
        * rtl.h (LABEL_REFS): Update.

From-SVN: r16333
parent 4911814e
Tue Nov 4 18:49:42 1997 Jeffrey A Law (law@cygnus.com)
* rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
and LABEL_REFS fields.
* rtl.h (LABEL_REFS): Update.
Tue Nov 4 16:55:11 1997 Jim Wilson <wilson@cygnus.com>
* mips.md (insv, extzv, extv): Add change_address call.
......
......@@ -368,8 +368,8 @@ DEF_RTL_EXPR(BARRIER, "barrier", "iuu", 'x')
3: is a number that is unique in the entire compilation.
4: is the user-given name of the label, if any.
5: is used in jump.c for the use-count of the label.
and in flow.c to point to the chain of label_ref's to this label. */
DEF_RTL_EXPR(CODE_LABEL, "code_label", "iuuis0", 'x')
6: is used in flow.c to point to the chain of label_ref's to this label. */
DEF_RTL_EXPR(CODE_LABEL, "code_label", "iuuis00", 'x')
/* Say where in the code a source line starts, for symbol table's sake.
Contains a filename and a line number. Line numbers <= 0 are special:
......@@ -385,7 +385,7 @@ DEF_RTL_EXPR(NOTE, "note", "iuusn", 'x')
it contains helps to build the mapping function between the rtx's of
the function to be inlined and the current function being expanded. */
DEF_RTL_EXPR(INLINE_HEADER, "inline_header", "iuuuiiiiiieeiiEeEss", 'x')
DEF_RTL_EXPR(INLINE_HEADER, "inline_header", "iuuuiiiiiieeiiEeEsse", 'x')
/* ----------------------------------------------------------------------
Top level constituents of INSN, JUMP_INSN and CALL_INSN.
......@@ -571,6 +571,15 @@ DEF_RTL_EXPR(SYMBOL_REF, "symbol_ref", "s", 'o')
pretend to be looking at the entire value and comparing it. */
DEF_RTL_EXPR(CC0, "cc0", "", 'o')
/* Reference to the address of a register. Removed by purge_addressof after
CSE has elided as many as possible.
1st operand: the register we may need the address of.
2nd operand: the original pseudo regno we were generated for.
3rd operand: the decl for the object in the register, for
put_reg_in_stack. */
DEF_RTL_EXPR(ADDRESSOF, "addressof", "ei0", 'o')
/* =====================================================================
A QUEUED expression really points to a member of the queue of instructions
to be output later for postincrement/postdecrement.
......
......@@ -464,7 +464,7 @@ extern char *note_insn_name[];
each CODE_LABEL starts a chain that goes through
all the LABEL_REFs that jump to that label.
The chain eventually winds up at the CODE_LABEL; it is circular. */
#define LABEL_REFS(LABEL) ((LABEL)->fld[5].rtx)
#define LABEL_REFS(LABEL) ((LABEL)->fld[6].rtx)
/* This is the field in the LABEL_REF through which the circular chain
of references to a particular label is linked.
......
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