cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl return.
authorJeffrey A Law <law@cygnus.com>
Mon, 17 Nov 1997 06:51:20 +0000 (06:51 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 17 Nov 1997 06:51:20 +0000 (23:51 -0700)
        * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
        return.
        (cse_end_of_basic_block): Similarly.

From-SVN: r16534

gcc/ChangeLog
gcc/cse.c

index c99a44d06fc407fea5dcea982109bef7214cf5a6..ab3fad66b17ddd4c1ef8f0b7d6b4ea5b8946ed79 100644 (file)
@@ -1,3 +1,9 @@
+Sun Nov 16 23:52:48 1997  Jeffrey A Law  (law@cygnus.com)
+
+       * cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl
+       return.
+       (cse_end_of_basic_block): Similarly.
 Sun Nov 16 23:01:40 1997  J. Kean Johnston  <jkj@sco.com>
 
        * i386/sco5.h (ASM_OUTPUT_ALIGNED_BSS): Define.
index 5ab24441debde65074975ec9114c690bc9162c0f..1f5504ae04bb7f8ecd574ac15f1e6df75256bb9f 100644 (file)
--- a/gcc/cse.c
+++ b/gcc/cse.c
@@ -7062,7 +7062,8 @@ cse_insn (insn, in_libcall_block)
          NOTE_SOURCE_FILE (insn) = 0;
          cse_jumps_altered = 1;
          /* One less use of the label this insn used to jump to.  */
-         --LABEL_NUSES (JUMP_LABEL (insn));
+         if (JUMP_LABEL (insn) != 0)
+           --LABEL_NUSES (JUMP_LABEL (insn));
          /* No more processing for this set.  */
          sets[i].rtl = 0;
        }
@@ -8095,6 +8096,7 @@ cse_end_of_basic_block (insn, data, follow_jumps, after_loop, skip_blocks)
               && GET_CODE (p) == JUMP_INSN
               && GET_CODE (PATTERN (p)) == SET
               && GET_CODE (SET_SRC (PATTERN (p))) == IF_THEN_ELSE
+              && JUMP_LABEL (p) != 0
               && LABEL_NUSES (JUMP_LABEL (p)) == 1
               && NEXT_INSN (JUMP_LABEL (p)) != 0)
        {