aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJim Wilson <wilson@cygnus.com>2000-09-18 23:19:53 +0000
committerJim Wilson <wilson@gcc.gnu.org>2000-09-18 16:19:53 -0700
commit5c3c320ecde1b2e93dd8fed24462cc8aa8ae2bd7 (patch)
tree7b87382d4493ebf4cdde0fe8fd8c0c972ff87154 /gcc
parentec919c984e95e1ffa20d44d7eecfbf46c196b09f (diff)
downloadgcc-5c3c320ecde1b2e93dd8fed24462cc8aa8ae2bd7.zip
gcc-5c3c320ecde1b2e93dd8fed24462cc8aa8ae2bd7.tar.gz
gcc-5c3c320ecde1b2e93dd8fed24462cc8aa8ae2bd7.tar.bz2
Fix IA-64 abort compiling ping.
* unroll.c (loop_iterations): Pass increment to extend_for_giv_value before passing it to fold_rtx_mult_add. From-SVN: r36518
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog3
-rw-r--r--gcc/unroll.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index bc06332..7ac4377 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,8 @@
2000-09-18 Jim Wilson <wilson@cygnus.com>
+ * unroll.c (loop_iterations): Pass increment to extend_for_giv_value
+ before passing it to fold_rtx_mult_add.
+
* unroll.c (final_giv_value): Pass increment through
extend_value_for_giv before passing it to emit_iv_add_mult.
diff --git a/gcc/unroll.c b/gcc/unroll.c
index 9d9b2ea..115aded 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -3686,8 +3686,9 @@ loop_iterations (loop)
{
struct induction *biv_inc;
- increment
- = fold_rtx_mult_add (v->mult_val, increment, const0_rtx, v->mode);
+ increment = fold_rtx_mult_add (v->mult_val,
+ extend_value_for_giv (v, increment),
+ const0_rtx, v->mode);
/* The caller assumes that one full increment has occured at the
first loop test. But that's not true when the biv is incremented
after the giv is set (which is the usual case), e.g.: