aboutsummaryrefslogtreecommitdiff
path: root/gcc/unroll.c
diff options
context:
space:
mode:
authorFranz Sirl <Franz.Sirl-kernel@lauterbach.com>2001-10-10 19:04:09 +0000
committerFranz Sirl <sirl@gcc.gnu.org>2001-10-10 19:04:09 +0000
commite10f3d36e5df9436d0627c424d8a4a6c194aede9 (patch)
tree8802fdbc10e8f5ce86edbd2d185a0f55112c844c /gcc/unroll.c
parent6cb3ae1ed6521a3b331c351684d404e53377a0b9 (diff)
downloadgcc-e10f3d36e5df9436d0627c424d8a4a6c194aede9.zip
gcc-e10f3d36e5df9436d0627c424d8a4a6c194aede9.tar.gz
gcc-e10f3d36e5df9436d0627c424d8a4a6c194aede9.tar.bz2
re PR c++/4512 (New ICE in loop_iterations at unroll.c:3510, regression vs. 3.0.1)
2001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> PR c++/4512 * unroll.c (loop_iterations): Ignore insns generated by loop unrolling. From-SVN: r46153
Diffstat (limited to 'gcc/unroll.c')
-rw-r--r--gcc/unroll.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/unroll.c b/gcc/unroll.c
index a2af213..99f56fb 100644
--- a/gcc/unroll.c
+++ b/gcc/unroll.c
@@ -3527,6 +3527,11 @@ loop_iterations (loop)
do
{
+ /* Previous unrolling may have generated new insns not covered
+ by the uid_luid array. */
+ if (INSN_UID (temp) >= max_uid_for_loop)
+ continue;
+
if (GET_CODE (temp) == JUMP_INSN
&& INSN_LUID (JUMP_LABEL (temp)) > INSN_LUID (loop->top)
&& INSN_LUID (JUMP_LABEL (temp)) < INSN_LUID (loop->cont))