aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Stallman <rms@gnu.org>1992-10-23 06:02:13 +0000
committerRichard Stallman <rms@gnu.org>1992-10-23 06:02:13 +0000
commitb5d27be7d7803e6537c3f0dce4abfe62a8b60643 (patch)
tree3345ca79970e4a6d8796f5d20c7755d078e4b4f2
parentb76771897a5cf5ad5301e5cca890683983dddc42 (diff)
downloadgcc-b5d27be7d7803e6537c3f0dce4abfe62a8b60643.zip
gcc-b5d27be7d7803e6537c3f0dce4abfe62a8b60643.tar.gz
gcc-b5d27be7d7803e6537c3f0dce4abfe62a8b60643.tar.bz2
(record_biv): Clear total_benefit field of new iv_class.
(get_condition): Verify op 2 of source is label_ref before looking within. From-SVN: r2566
-rw-r--r--gcc/loop.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index 232b882..6ffa6bc 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -4122,6 +4122,7 @@ record_biv (v, insn, dest_reg, inc_val, mult_val,
bl->eliminable = 0;
bl->nonneg = 0;
bl->reversed = 0;
+ bl->total_benefit = 0;
/* Add this class to loop_iv_list. */
bl->next = loop_iv_list;
@@ -6255,7 +6256,8 @@ get_condition (jump, earliest)
/* If this branches to JUMP_LABEL when the condition is false, reverse
the condition. */
- if (XEXP (XEXP (SET_SRC (PATTERN (jump)), 2), 0) == JUMP_LABEL (jump))
+ if (GET_CODE (XEXP (SET_SRC (PATTERN (jump)), 2)) == LABEL_REF
+ && XEXP (XEXP (SET_SRC (PATTERN (jump)), 2), 0) == JUMP_LABEL (jump))
code = reverse_condition (code), did_reverse_condition ^= 1;
/* If we are comparing a register with zero, see if the register is set