diff options
author | Franz Sirl <Franz.Sirl-kernel@lauterbach.com> | 2001-10-10 19:04:09 +0000 |
---|---|---|
committer | Franz Sirl <sirl@gcc.gnu.org> | 2001-10-10 19:04:09 +0000 |
commit | e10f3d36e5df9436d0627c424d8a4a6c194aede9 (patch) | |
tree | 8802fdbc10e8f5ce86edbd2d185a0f55112c844c /gcc/unroll.c | |
parent | 6cb3ae1ed6521a3b331c351684d404e53377a0b9 (diff) | |
download | gcc-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.c | 5 |
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)) |