aboutsummaryrefslogtreecommitdiff
path: root/gcc/loop.h
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@libertysurf.fr>2003-09-27 19:18:25 +0200
committerEric Botcazou <ebotcazou@gcc.gnu.org>2003-09-27 17:18:25 +0000
commite8226879d081098068ec39a204094449e38f3595 (patch)
tree69c65bf4228b0815d726602917430e7ecd31d590 /gcc/loop.h
parentc003e212ead438407d7968c2ada135f90307a8be (diff)
downloadgcc-e8226879d081098068ec39a204094449e38f3595.zip
gcc-e8226879d081098068ec39a204094449e38f3595.tar.gz
gcc-e8226879d081098068ec39a204094449e38f3595.tar.bz2
re PR rtl-optimization/12340 (loop unroller + gcse produces wrong code)
PR optimization/12340 * loop.h (struct induction): Document the new semantics of the 'same' field for bivs. * unroll.c (biv_total_increment): Don't count the same biv increment several times. (loop_iterations) [GENERAL_INDUCT]: Likewise. From-SVN: r71859
Diffstat (limited to 'gcc/loop.h')
-rw-r--r--gcc/loop.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/loop.h b/gcc/loop.h
index bd144db..2a7f3ec 100644
--- a/gcc/loop.h
+++ b/gcc/loop.h
@@ -148,9 +148,12 @@ struct induction
based on the same biv. For bivs, links
together all biv entries that refer to the
same biv register. */
- struct induction *same; /* If this giv has been combined with another
- giv, this points to the base giv. The base
- giv will have COMBINED_WITH nonzero. */
+ struct induction *same; /* For givs, if the giv has been combined with
+ another giv, this points to the base giv.
+ The base giv will have COMBINED_WITH nonzero.
+ For bivs, if the biv has the same LOCATION
+ than another biv, this points to the base
+ biv. */
HOST_WIDE_INT const_adjust; /* Used by loop unrolling, when an address giv
is split, and a constant is eliminated from
the address, the -constant is stored here