aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/unroll.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 462c271..a8e2324 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,5 +1,9 @@
2001-10-10 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
+ PR c++/4512
+ * unroll.c (loop_iterations): Ignore insns generated by loop
+ unrolling.
+
* config.gcc (mips*-*-gnu*): Delete support.
* config/mips/gnu.h: Remove.
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))