(find_basic_blocks): Don't mark labels in nonlocal_label_list
authorRichard Stallman <rms@gnu.org>
Sat, 23 Jan 1993 22:16:52 +0000 (22:16 +0000)
committerRichard Stallman <rms@gnu.org>
Sat, 23 Jan 1993 22:16:52 +0000 (22:16 +0000)
that were deleted due to having no references.

From-SVN: r3310

gcc/flow.c

index 66f0d65d19c7c881ec5d4319230cf43af3923859..9d83e413a7794a761ac23087470568cfa17984f3 100644 (file)
@@ -538,8 +538,11 @@ find_basic_blocks (f, nonlocal_label_list)
          {
            rtx x;
            for (x = nonlocal_label_list; x; x = XEXP (x, 1))
-             mark_label_ref (gen_rtx (LABEL_REF, VOIDmode, XEXP (x, 0)),
-                             insn, 0);
+             /* Don't try marking labels that
+                were deleted as unreferenced.  */
+             if (GET_CODE (XEXP (x, 0)) == CODE_LABEL)
+               mark_label_ref (gen_rtx (LABEL_REF, VOIDmode, XEXP (x, 0)),
+                               insn, 0);
            /* ??? This could be made smarter:
               in some cases it's possible to tell that certain
               calls will not do a nonlocal goto.