re PR tree-optimization/23434 (ICE: Segmentation fault compiling gsl1.5 at -O2)
PR tree-optimization/23434 * tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when the iteration bound is not an INTEGER_CST. From-SVN: r103315
This commit is contained in:
parent
429268fc04
commit
a1596edc4b
|
@ -1,3 +1,9 @@
|
|||
2005-08-21 Sebastian Pop <pop@cri.ensmp.fr>
|
||||
|
||||
PR tree-optimization/23434
|
||||
* tree-ssa-loop-niter.c (proved_non_wrapping_p): Give up when
|
||||
the iteration bound is not an INTEGER_CST.
|
||||
|
||||
2005-08-21 Dorit Nuzman <dorit@il.ibm.com>
|
||||
|
||||
* tree-vect-transform.c (get_initial_def_for_reduction): Set
|
||||
|
|
|
@ -0,0 +1,19 @@
|
|||
/* { dg-do compile } */
|
||||
/* { dg-options "-O2" } */
|
||||
|
||||
cblas_csyr2k (int N, void *A, int lda, float *B, int ldb, float *C, int k)
|
||||
{
|
||||
int i, j;
|
||||
for (;; k ++)
|
||||
{
|
||||
for (i = 0; i < N; i ++)
|
||||
{
|
||||
float t = ((float * ) A) [i];
|
||||
for (j = i; j < N; j ++)
|
||||
{
|
||||
C [i + j] = B [ldb] * ((float *) A) [k];
|
||||
C [lda] = 0 ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1653,6 +1653,10 @@ proved_non_wrapping_p (tree at_stmt,
|
|||
else
|
||||
valid_niter = fold_convert (TREE_TYPE (bound), valid_niter);
|
||||
|
||||
/* Give up if BOUND was not folded to an INTEGER_CST, as in PR23434. */
|
||||
if (TREE_CODE (bound) != INTEGER_CST)
|
||||
return false;
|
||||
|
||||
/* After the statement niter_bound->at_stmt we know that anything is
|
||||
executed at most BOUND times. */
|
||||
if (at_stmt && stmt_dominates_stmt_p (niter_bound->at_stmt, at_stmt))
|
||||
|
|
Loading…
Reference in New Issue