diff options
author | Sebastian Pop <sebastian.pop@amd.com> | 2008-12-12 17:28:06 +0000 |
---|---|---|
committer | Sebastian Pop <spop@gcc.gnu.org> | 2008-12-12 17:28:06 +0000 |
commit | 0c6ca7f80ad0d8922d775dd5f026b0303131850b (patch) | |
tree | 087e96ac469b200300f2d33c97b0a94b92bf04f4 /gcc/testsuite | |
parent | 0a280b3566a96f29c7d5ec1cc35ef9d12482abb6 (diff) | |
download | gcc-0c6ca7f80ad0d8922d775dd5f026b0303131850b.zip gcc-0c6ca7f80ad0d8922d775dd5f026b0303131850b.tar.gz gcc-0c6ca7f80ad0d8922d775dd5f026b0303131850b.tar.bz2 |
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
Diffstat (limited to 'gcc/testsuite')
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gcc.dg/graphite/pr38409.c | 48 |
2 files changed, 53 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index a3c9d7c..34dfb65 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -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 diff --git a/gcc/testsuite/gcc.dg/graphite/pr38409.c b/gcc/testsuite/gcc.dg/graphite/pr38409.c new file mode 100644 index 0000000..521ac35 --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr38409.c @@ -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) ; +} |