aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/loop.c1
2 files changed, 6 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 128a7d2..fd0abeb 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2005-07-07 John David Anglin <dave.anglin@nrc-crc.gc.ca>
+
+ PR middle-end/22239
+ * loop.c (loop_givs_rescan): Check that v->new_reg is a REG.
+
2005-07-07 Khem Raj <kraj@mvista.com>
* config/arm/arm.c (thumb_output_function_prologue): Calculate offset
diff --git a/gcc/loop.c b/gcc/loop.c
index b9b2856..c0e3272 100644
--- a/gcc/loop.c
+++ b/gcc/loop.c
@@ -5496,6 +5496,7 @@ loop_givs_rescan (struct loop *loop, struct iv_class *bl, rtx *reg_map)
v->new_reg));
else if (GET_CODE (*v->location) == PLUS
&& REG_P (XEXP (*v->location, 0))
+ && REG_P (v->new_reg)
&& CONSTANT_P (XEXP (*v->location, 1)))
loop_insn_emit_before (loop, 0, v->insn,
gen_move_insn (XEXP (*v->location, 0),