This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Patch: REG_LABEL is an INSN_LIST [Was: Re: REG_LABEL is anEXPR_LIST, not an INSN_LIST]


Alexandre Oliva <oliva@lsd.ic.unicamp.br> writes:

> On Aug 30, 2001, Andreas Jaeger <aj@suse.de> wrote:
>
>> Alexandre, I'd like to see the "patch reversion" policy applied since
>> I didn't see any response from you on RTH's email 38 hours ago...
>
> Please go ahead and revert it.  I've been having serious network
> problems lately.  I can't even get `cvs update' to complete, and I
> feel I have been missing a lot of e-mail.  :-(
>
> It would be even nicer of you if you'd not only revert the patch, but
> also fix the other occurrences in which an EXPR_LIST is created for
> REG_LABELs.  A simple grep will show them all.  Thanks in advance.

I've done the simple grep and fixed all occurences with the appended
patch.  I'm bootstrapping/regtesting this currently on i686-linux.

Ok to commit if regtesting passes?

Andreas

2001-08-31  Andreas Jaeger  <aj@suse.de>

	* gcse.c (add_label_notes): REG_LABEL is an INSN_LIST. 
	* loop.c (add_label_notes): Likewise.
	* reload.c (find_reloads): Likewise.
	* config/sh/sh.c (machine_dependent_reorg): Likewise.

============================================================
Index: gcc/gcse.c
--- gcc/gcse.c	2001/08/29 21:43:41	1.151
+++ gcc/gcse.c	2001/08/31 06:11:08
@@ -5113,7 +5113,7 @@
 	 We no longer ignore such label references (see LABEL_REF handling in
 	 mark_jump_label for additional information).  */
 
-      REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL, XEXP (x, 0),
+      REG_NOTES (insn) = gen_rtx_INSN_LIST (REG_LABEL, XEXP (x, 0),
 					    REG_NOTES (insn));
       if (LABEL_P (XEXP (x, 0)))
         LABEL_NUSES (XEXP (x, 0))++;
============================================================
Index: gcc/loop.c
--- gcc/loop.c	2001/08/22 14:51:32	1.351
+++ gcc/loop.c	2001/08/31 06:11:19
@@ -1626,7 +1626,7 @@
       for (insn = insns; insn; insn = NEXT_INSN (insn))
 	if (reg_mentioned_p (XEXP (x, 0), insn))
 	  {
-	    REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL, XEXP (x, 0),
+	    REG_NOTES (insn) = gen_rtx_INSN_LIST (REG_LABEL, XEXP (x, 0),
 						  REG_NOTES (insn));
 	    if (LABEL_P (XEXP (x, 0)))
 	      LABEL_NUSES (XEXP (x, 0))++;
============================================================
Index: gcc/reload.c
--- gcc/reload.c	2001/08/27 18:25:23	1.158
+++ gcc/reload.c	2001/08/31 06:11:27
@@ -3875,7 +3875,7 @@
 	  if (GET_CODE (insn) != JUMP_INSN
 	      && GET_CODE (substitution) == LABEL_REF
 	      && !find_reg_note (insn, REG_LABEL, XEXP (substitution, 0)))
-	    REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL,
+	    REG_NOTES (insn) = gen_rtx_INSN_LIST (REG_LABEL,
 						  XEXP (substitution, 0),
 						  REG_NOTES (insn));
 	}
@@ -5782,7 +5782,7 @@
 	     register refers to.  */
 	  if (GET_CODE (*r->where) == LABEL_REF
 	      && GET_CODE (insn) == JUMP_INSN)
-	    REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL,
+	    REG_NOTES (insn) = gen_rtx_INSN_LIST (REG_LABEL,
 						  XEXP (*r->where, 0),
 						  REG_NOTES (insn));
 
============================================================
Index: gcc/config/sh/sh.c
--- gcc/config/sh/sh.c	2001/08/18 20:25:53	1.117
+++ gcc/config/sh/sh.c	2001/08/31 06:11:35
@@ -3238,9 +3238,9 @@
              or pseudo-op.  */
 
 	  label = gen_label_rtx ();
-	  REG_NOTES (link) = gen_rtx_EXPR_LIST (REG_LABEL, label,
+	  REG_NOTES (link) = gen_rtx_INSN_LIST (REG_LABEL, label,
 						REG_NOTES (link));
-	  REG_NOTES (insn) = gen_rtx_EXPR_LIST (REG_LABEL, label,
+	  REG_NOTES (insn) = gen_rtx_INSN_LIST (REG_LABEL, label,
 						REG_NOTES (insn));
 	  if (rescan)
 	    {
@@ -3256,7 +3256,7 @@
 			  || ((reg2 = sfunc_uses_reg (scan))
 			      && REGNO (reg2) == REGNO (reg))))
 		    REG_NOTES (scan)
-		      = gen_rtx_EXPR_LIST (REG_LABEL, label, REG_NOTES (scan));
+		      = gen_rtx_INSN_LIST (REG_LABEL, label, REG_NOTES (scan));
 		}
 	      while (scan != dies);
 	    }

-- 
 Andreas Jaeger
  SuSE Labs aj@suse.de
   private aj@arthur.inka.de
    http://www.suse.de/~aj


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]