diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/unroll.c | 5 |
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)) |