rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES and LABEL_REFS fields.
authorJeffrey A Law <law@cygnus.com>
Wed, 5 Nov 1997 01:56:33 +0000 (01:56 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 5 Nov 1997 01:56:33 +0000 (18:56 -0700)
        * rtl.def (CODE_LABEL): Use separate fields for LABEL_NUSES
        and LABEL_REFS fields.
        * rtl.h (LABEL_REFS): Update.

From-SVN: r16333

gcc/ChangeLog
gcc/rtl.def
gcc/rtl.h

index a24d9fea077f80048a7ec0c506e10e741426a035..3710865a76a01720f19135319052e79bd5637e5e 100644 (file)
@@ -1,3 +1,9 @@
+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.
index ac51b6d50f7bacef0418ce9a593f090eb8def126..d0627791b645ecda774a7fd042040992f449eb5b 100644 (file)
@@ -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.
index 16de2806d0336ac0b8be3a85e57da77caefacc21..9f9abda2962f7f79b7495c785b0f8f00beb4fb0f 100644 (file)
--- a/gcc/rtl.h
+++ b/gcc/rtl.h
@@ -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)
 \f
 /* This is the field in the LABEL_REF through which the circular chain
    of references to a particular label is linked.