diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/loop.c | 1 |
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 @@ -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), |