OSDN Git Service

* jump.c (delete_insn): Don't delete user labels at -O0.
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Feb 2000 07:25:24 +0000 (07:25 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 10 Feb 2000 07:25:24 +0000 (07:25 +0000)
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@31885 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/jump.c

index 8ca5fd9..a7bbcf3 100644 (file)
@@ -1,3 +1,7 @@
+2000-02-09  Richard Henderson  <rth@cygnus.com>
+
+       * jump.c (delete_insn): Don't delete user labels at -O0.
+
 2000-02-09  Robert Lipe  <robertl@sco.com>
 
        * Makefile.in (gen-protos): Don't depend on HOST_LIBDEPS.
index 417425d..fcabc27 100644 (file)
@@ -4223,15 +4223,19 @@ delete_insn (insn)
   if (was_code_label)
     remove_node_from_expr_list (insn, &nonlocal_goto_handler_labels);
 
-  /* Don't delete user-declared labels.  Convert them to special NOTEs
-     instead.  */
-  if (was_code_label && LABEL_NAME (insn) != 0
-      && optimize && ! dont_really_delete)
+  /* Don't delete user-declared labels.  When optimizing, convert them
+     to special NOTEs instead.  When not optimizing, leave them alone.  */
+  if (was_code_label && LABEL_NAME (insn) != 0)
     {
-      PUT_CODE (insn, NOTE);
-      NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED_LABEL;
-      NOTE_SOURCE_FILE (insn) = 0;
-      dont_really_delete = 1;
+      if (! optimize)
+       dont_really_delete = 1;
+      else if (! dont_really_delete)
+       {
+         PUT_CODE (insn, NOTE);
+         NOTE_LINE_NUMBER (insn) = NOTE_INSN_DELETED_LABEL;
+         NOTE_SOURCE_FILE (insn) = 0;
+         dont_really_delete = 1;
+       }
     }
   else
     /* Mark this insn as deleted.  */