diff options
author | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-07 22:53:28 +0000 |
---|---|---|
committer | danglin <danglin@138bc75d-0d04-0410-961f-82ee72b054a4> | 2005-07-07 22:53:28 +0000 |
commit | 6f10760068525e3ec4163483656c9e39aab1fdee (patch) | |
tree | 3505242a455773f5bd65d2b87246b4beae06f787 /gcc/loop.c | |
parent | e54325a1166b93a003e181dcb06ccfa044ad8f47 (diff) | |
download | gcc-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.c | 1 |
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), |