re PR rtl-optimization/42246 (ICE in init_seqno for 186.crafty with sel-sched)

PR rtl-optimization/42246
        * sel-sched-ir.h (get_all_loop_exits): Include exits from inner
        loops.

From-SVN: r155900
This commit is contained in:
Andrey Belevantsev 2010-01-14 14:22:20 +03:00
parent c648655209
commit 65b659ff8a
4 changed files with 34 additions and 1 deletions

View File

@ -1,3 +1,9 @@
2010-01-14 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/42246
* sel-sched-ir.h (get_all_loop_exits): Include exits from inner
loops.
2010-01-14 Andrey Belevantsev <abel@ispras.ru>
* sel-sched.c (compute_av_set_at_bb_end): Do not test that number of

View File

@ -1147,7 +1147,8 @@ get_all_loop_exits (basic_block bb)
/* Traverse all loop headers. */
for (i = 0; VEC_iterate (edge, exits, i, e); i++)
if (in_current_region_p (e->dest))
if (in_current_region_p (e->dest)
|| inner_loop_header_p (e->dest))
{
VEC(edge, heap) *next_exits = get_all_loop_exits (e->dest);

View File

@ -1,3 +1,8 @@
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
PR rtl-optimization/42246
* gfortran.dg/pr42246-2.f: New.
2010-01-14 Alexander Monakov <amonakov@ispras.ru>
PR rtl-optimization/42389

View File

@ -0,0 +1,21 @@
C PR rtl-optimization/42246
C { dg-do compile { target powerpc*-*-* ia64-*-* x86_64-*-* } }
C { dg-options "-O2 -fselective-scheduling -fsel-sched-pipelining -fsel-sched-pipelining-outer-loops" }
subroutine distance(x,clo)
implicit real*8 (a-h,o-z)
dimension x(2,6),x1(2,6),clo(6)
do 60 i=1,2
do 20 j=1,6
x(i,j)=clo(j)
20 continue
do 40 iq=1,6
x1(i,iq)=0.0d0
40 continue
do 50 j=1,6
x(i,j)=x1(i,j)
50 continue
60 continue
return
end