cse.c (check_for_label_ref): Don't require REG_LABEL notes for non-local label_refs.
authorAlexandre Oliva <aoliva@redhat.com>
Fri, 26 Oct 2001 17:43:51 +0000 (17:43 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Fri, 26 Oct 2001 17:43:51 +0000 (17:43 +0000)
* cse.c (check_for_label_ref): Don't require REG_LABEL notes for
non-local label_refs.

From-SVN: r46555

gcc/ChangeLog
gcc/cse.c

index 23f0e1ef4facdf017539b0ba0077f4aa366bc88b..fe907d06beadafef932f9dbe01e2710d7af5cdda 100644 (file)
@@ -1,3 +1,8 @@
+2001-10-26  Alexandre Oliva  <aoliva@redhat.com>
+
+       * cse.c (check_for_label_ref): Don't require REG_LABEL notes for
+       non-local label_refs.
+
 2001-10-26  Kazu Hirata  <kazu@hxi.com>
 
        * config/h8300/h8300.md (4 anonymous patterns): New.
index efe1fadab48a6b707dd790d29eee8a53913dcf62..cbeae55f72fb7ff9f08bf4360d50390fbe9ac35c 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7362,7 +7362,7 @@ cse_basic_block (from, to, next_branch, around_loop)
 }
 \f
 /* Called via for_each_rtx to see if an insn is using a LABEL_REF for which
-   there isn't a REG_DEAD note.  Return one if so.  DATA is the insn.  */
+   there isn't a REG_LABEL note.  Return one if so.  DATA is the insn.  */
 
 static int
 check_for_label_ref (rtl, data)
@@ -7376,6 +7376,7 @@ check_for_label_ref (rtl, data)
      LABEL_REF for a CODE_LABEL that isn't in the insn chain, don't do this
      since no REG_LABEL will be added.  */
   return (GET_CODE (*rtl) == LABEL_REF
+         && ! LABEL_REF_NONLOCAL_P (*rtl)
          && LABEL_P (XEXP (*rtl, 0))
          && INSN_UID (XEXP (*rtl, 0)) != 0
          && ! find_reg_note (insn, REG_LABEL, XEXP (*rtl, 0)));