aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1997-01-19 14:21:38 -0500
committerRichard Kenner <kenner@gcc.gnu.org>1997-01-19 14:21:38 -0500
commit6217f6130ab3ee76aeb6c3b82bf267321da57a2c (patch)
tree801a77778eed6fccbe1562b859f5883726e72498 /gcc/loop.c
parent421fec1235030d16ce0f486de5e03faaa2848f1b (diff)
downloadgcc-6217f6130ab3ee76aeb6c3b82bf267321da57a2c.zip
gcc-6217f6130ab3ee76aeb6c3b82bf267321da57a2c.tar.gz
gcc-6217f6130ab3ee76aeb6c3b82bf267321da57a2c.tar.bz2
(check_final_value): Handle insns with no luid's.
From-SVN: r13514
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index c6eb216..0ea4f20 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -4782,8 +4782,11 @@ check_final_value (v, loop_start, loop_end)
if (GET_CODE (p) == JUMP_INSN && JUMP_LABEL (p)
&& LABEL_NAME (JUMP_LABEL (p))
- && ((INSN_LUID (JUMP_LABEL (p)) < INSN_LUID (v->insn)
- && INSN_LUID (JUMP_LABEL (p)) > INSN_LUID (loop_start))
+ && ((INSN_UID (JUMP_LABEL (p)) >= max_uid_for_loop)
+ || (INSN_UID (v->insn) >= max_uid_for_loop)
+ || (INSN_UID (last_giv_use) >= max_uid_for_loop)
+ || (INSN_LUID (JUMP_LABEL (p)) < INSN_LUID (v->insn)
+ && INSN_LUID (JUMP_LABEL (p)) > INSN_LUID (loop_start))
|| (INSN_LUID (JUMP_LABEL (p)) > INSN_LUID (last_giv_use)
&& INSN_LUID (JUMP_LABEL (p)) < INSN_LUID (loop_end))))
{