summaryrefslogtreecommitdiff
path: root/gcc/loop.c
diff options
context:
space:
mode:
authordanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-07 22:53:28 +0000
committerdanglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4>2005-07-07 22:53:28 +0000
commit6f10760068525e3ec4163483656c9e39aab1fdee (patch)
tree3505242a455773f5bd65d2b87246b4beae06f787 /gcc/loop.c
parente54325a1166b93a003e181dcb06ccfa044ad8f47 (diff)
downloadgcc-6f10760068525e3ec4163483656c9e39aab1fdee.tar.gz
PR middle-end/22239
* loop.c (loop_givs_rescan): Check that v->new_reg is a REG. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101742 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/loop.c')
-rw-r--r--gcc/loop.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/loop.c b/gcc/loop.c
index b9b285648bc..c0e3272e6d3 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),