aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1997-11-17 06:51:20 +0000
committerJeff Law <law@gcc.gnu.org>1997-11-16 23:51:20 -0700
commit85c3ba60dd713e3efc0f7d65fe25e2ebf4771d86 (patch)
treeb2516bccecfbdb5b90356e29277bd7d5d207dde6
parent9155d500fb80973d5c88f52d4b89fb4fdbe7ede2 (diff)
downloadgcc-85c3ba60dd713e3efc0f7d65fe25e2ebf4771d86.zip
gcc-85c3ba60dd713e3efc0f7d65fe25e2ebf4771d86.tar.gz
gcc-85c3ba60dd713e3efc0f7d65fe25e2ebf4771d86.tar.bz2
cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl return.
* cse.c (cse_insn): Don't look at JUMP_LABEL field of a conditionl return. (cse_end_of_basic_block): Similarly. From-SVN: r16534
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/cse.c4
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index c99a44d..ab3fad6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/cse.c b/gcc/cse.c
index 5ab2444..1f5504a 100644
--- 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)
{