Commit 950d1cd9 by Richard Biener Committed by Richard Biener

re PR tree-optimization/83963 ([graphite] ICE in merge_sese, at graphite-scop-detection.c:517)

2018-01-23  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/83963
	* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
	Properly terminate dominator walk when crossing the exit edge not
	when visiting its source block.

	* gfortran.dg/graphite/pr83963.f: New testcase.
	* gcc.dg/graphite/pr83963-2.c: Likewise.

From-SVN: r256973
parent 2e73a89b
2018-01-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/83963
* graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
Properly terminate dominator walk when crossing the exit edge not
when visiting its source block.
2018-01-23 Jakub Jelinek <jakub@redhat.com>
PR c++/83918
......
......@@ -677,10 +677,10 @@ scop_detection::harmful_loop_in_region (sese_l scop) const
if (!stmt_simple_for_scop_p (scop, gsi_stmt (gsi), bb))
return true;
if (bb != exit_bb)
for (basic_block dom = first_dom_son (CDI_DOMINATORS, bb);
dom;
dom = next_dom_son (CDI_DOMINATORS, dom))
for (basic_block dom = first_dom_son (CDI_DOMINATORS, bb);
dom;
dom = next_dom_son (CDI_DOMINATORS, dom))
if (dom != scop.exit->dest)
worklist.safe_push (dom);
}
......
2018-01-23 Richard Biener <rguenther@suse.de>
PR tree-optimization/83963
* gfortran.dg/graphite/pr83963.f: New testcase.
* gcc.dg/graphite/pr83963-2.c: Likewise.
2018-01-23 Jakub Jelinek <jakub@redhat.com>
PR c++/83918
......
/* { dg-do compile } */
/* { dg-options "-O -floop-nest-optimize" } */
int Chv_countBigEntries (int npivot, int pivotsizes[], int countflag,
double droptol, int nD)
{
double absval ;
double *entries ;
int count;
int ii, jj, kinc, kk, kstart, stride ;
for ( ii = 0 ; ii < nD ; ii++ )
{
kk = kstart ;
kinc = stride ;
for ( jj = 0 ; jj < ii ; jj++ )
{
absval = __builtin_fabs(entries[kk]) ;
if ( absval >= droptol )
count++ ;
kk += kinc ;
kinc -= 2 ;
}
kstart-- ;
}
return count;
}
! { dg-do compile }
! { dg-options "-O -floop-nest-optimize" }
SUBROUTINE DAVCI(NORB,NCOR,NCI,NA,NB,
* CI,MAXP,MAXW1,
* IHMCON,ISTRB,ISTRP,ISTAR,II)
DIMENSION EC(MAXP,MAXP),IWRK1(2*MAXW1)
EC(II,II) = 1.0D+00
DO 1396 II=1,MAXP
DO 1398 JJ=1,II-1
EC(II,JJ) = 0.0D+00
1398 CONTINUE
1396 CONTINUE
IF (NA.EQ.NB) THEN
CALL RINAB0(SI1,SI2,NORB,NCOR,NCI,NA,NB,CI(1,IP),IACON1,IBCON1,
* IWRK1,IHMCON,ISTRB,ISTRP,ISTAR)
ENDIF
END
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment