OSDN Git Service

(insert): Set cse_jumps_altered when inserting a LABEL_REF.
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Sep 1995 22:24:09 +0000 (22:24 +0000)
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 15 Sep 1995 22:24:09 +0000 (22:24 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@10366 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cse.c

index cba56fe..863a338 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -1287,6 +1287,14 @@ insert (x, classp, hash, mode)
            SET_HARD_REG_BIT (hard_regs_in_table, i);
     }
 
+  /* If X is a label, show we are altering jumps.  We don't KNOW
+     we are, but we might be putting it into a insn which would
+     then need a new REG_LABEL note.  Be conservative and say
+     we alter jumps here; we usually will in this case anyway.  */
+  if (GET_CODE (x) == LABEL_REF
+      || (GET_CODE (x) == CONST && GET_CODE (XEXP (x, 0)) == PLUS
+         && GET_CODE (XEXP (XEXP (x, 0), 0)) == LABEL_REF))
+    cse_jumps_altered = 1;
 
   /* Put an element for X into the right hash bucket.  */