aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn David Anglin <dave.anglin@nrc-cnrc.gc.ca>2005-07-07 22:53:28 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2005-07-07 22:53:28 +0000
commit94bb1a2dc25ccda35fc21c93a2b7928b629a9b52 (patch)
tree3505242a455773f5bd65d2b87246b4beae06f787
parent1a59548be63c0c52506e0c7145cf7c4f20c5d635 (diff)
downloadgcc-94bb1a2dc25ccda35fc21c93a2b7928b629a9b52.zip
gcc-94bb1a2dc25ccda35fc21c93a2b7928b629a9b52.tar.gz
gcc-94bb1a2dc25ccda35fc21c93a2b7928b629a9b52.tar.bz2
re PR rtl-optimization/22239 (i-cobol.adb:482: error: unrecognizable insn)
PR middle-end/22239 * loop.c (loop_givs_rescan): Check that v->new_reg is a REG. From-SVN: r101742
-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),