mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-03-19 05:20:25 +08:00
re PR rtl-optimization/46755 (ICE: in calc_dfs_tree, at dominance.c:395 with -O)
gcc/ PR rtl-optimization/46755 * ira.c (ira): If some dead edges were removed, find and delete any blocks that might have become unreachable. testsuite/ PR rtl-optimization/46755 * gfortran.dg/pr46755.f: New test From-SVN: r168118
This commit is contained in:
parent
96676a5df7
commit
59db109afd
@ -1,3 +1,9 @@
|
||||
2010-12-21 Steven Bosscher <steven@gcc.gnu.org>
|
||||
|
||||
PR rtl-optimization/46755
|
||||
* ira.c (ira): If some dead edges were removed, find and delete
|
||||
any blocks that might have become unreachable.
|
||||
|
||||
2010-12-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/47008
|
||||
|
@ -3158,7 +3158,8 @@ ira (FILE *f)
|
||||
{
|
||||
timevar_push (TV_JUMP);
|
||||
rebuild_jump_labels (get_insns ());
|
||||
purge_all_dead_edges ();
|
||||
if (purge_all_dead_edges ())
|
||||
delete_unreachable_blocks ();
|
||||
timevar_pop (TV_JUMP);
|
||||
}
|
||||
}
|
||||
|
@ -1,3 +1,8 @@
|
||||
2010-12-21 Steven Bosscher <steven@gcc.gnu.org>
|
||||
|
||||
PR rtl-optimization/46755
|
||||
* gfortran.dg/pr46755.f: New test.
|
||||
|
||||
2010-12-21 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR rtl-optimization/47008
|
||||
|
23
gcc/testsuite/gfortran.dg/pr46755.f
Normal file
23
gcc/testsuite/gfortran.dg/pr46755.f
Normal file
@ -0,0 +1,23 @@
|
||||
C { dg-do compile }
|
||||
C { dg-options "-O" }
|
||||
IMPLICIT NONE
|
||||
INTEGER I640,I760,I800
|
||||
INTEGER I,ITER,ITMX,LENCM
|
||||
LOGICAL QDISK,QDW
|
||||
ASSIGN 801 TO I800
|
||||
GOTO I800
|
||||
801 CONTINUE
|
||||
ASSIGN 761 TO I760
|
||||
761 CONTINUE
|
||||
DO I=1,LENCM
|
||||
ENDDO
|
||||
DO WHILE(ITER.LT.ITMX)
|
||||
IF(QDW) THEN
|
||||
ASSIGN 641 to I640
|
||||
GOTO I760
|
||||
641 CONTINUE
|
||||
ENDIF
|
||||
ENDDO
|
||||
RETURN
|
||||
END
|
||||
|
Loading…
x
Reference in New Issue
Block a user