re PR middle-end/38409 ([graphite] ICE : in canonicalize_loop_ivs, at tree-parloops.c:1384)

2008-12-12  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/38409
	* gcc.dg/graphite/pr38409.c: New.
	* graphite.c (nb_reductions_in_loop): Use simple_iv.

From-SVN: r142716
This commit is contained in:
Sebastian Pop 2008-12-12 17:28:06 +00:00 committed by Sebastian Pop
parent 0a280b3566
commit 0c6ca7f80a
4 changed files with 60 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2008-12-12 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/38409
* graphite.c (nb_reductions_in_loop): Use simple_iv.
2008-12-12 Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>
* config/i386/x86intrin.h: New header file to support all x86

View file

@ -2119,13 +2119,14 @@ nb_reductions_in_loop (loop_p loop)
{
gimple phi = gsi_stmt (gsi);
tree scev;
affine_iv iv;
if (!is_gimple_reg (PHI_RESULT (phi)))
continue;
scev = analyze_scalar_evolution (loop, PHI_RESULT (phi));
scev = instantiate_parameters (loop, scev);
if (chrec_contains_undetermined (scev))
if (!simple_iv (loop, phi, PHI_RESULT (phi), &iv, true))
res++;
}

View file

@ -1,3 +1,8 @@
2008-12-12 Sebastian Pop <sebastian.pop@amd.com>
PR middle-end/38409
* gcc.dg/graphite/pr38409.c: New.
2008-12-12 Daniel Franke <franke.daniel@gmail.com>
PR fortran/36355

View file

@ -0,0 +1,48 @@
/* { dg-options "-O2 -floop-block" } */
typedef struct test input ;
struct test
{
int type ;
int symflag ;
};
Chv_copyEntriesToVector ( input *chv,double *dvec)
{
double *entries ;
int mm, nent;
int first, i, k , stride ;
if ( ((chv)->type == 1) )
{
for ( i = 0 ; i < 10 ; i++)
{
dvec[2*mm] = entries[2*k] ;
k += stride ;
stride -= 2 ;
}
}
return(mm) ;
}
/* { dg-options "-O2 -floop-block" } */
typedef struct test input ;
struct test
{
int type ;
int symflag ;
};
Chv_copyEntriesToVector ( input *chv,double *dvec)
{
double *entries ;
int mm, nent;
int first, i, k , stride ;
if ( ((chv)->type == 1) )
{
for ( i = 0 ; i < 10 ; i++)
{
dvec[2*mm] = entries[2*k] ;
k += stride ;
stride -= 2 ;
}
}
return(mm) ;
}