From: mikael Date: Thu, 9 Sep 2010 13:54:34 +0000 (+0000) Subject: 2010-09-09 Mikael Morin X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=238b18db17e1512a970596392c8eba0a3ed0aec5;p=thirdparty%2Fgcc.git 2010-09-09 Mikael Morin * trans-array.c (gfc_trans_preloop_setup): Unconditionally use the dim array to get the stride in the innermost loop. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164103 138bc75d-0d04-0410-961f-82ee72b054a4 --- diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 07228f6664be..2483ad9bea72 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2010-09-09 Mikael Morin + + * trans-array.c (gfc_trans_preloop_setup): Unconditionally use the + dim array to get the stride in the innermost loop. + 2010-09-09 Mikael Morin * trans-array.c (gfc_trans_create_temp_array): Don't set dim array. diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index c9e72f67cf93..e0bc34fe3b02 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -2772,16 +2772,17 @@ gfc_trans_preloop_setup (gfc_loopinfo * loop, int dim, int flag, info->offset, index); info->offset = gfc_evaluate_now (info->offset, pblock); } - - i = loop->order[0]; - stride = gfc_conv_array_stride (info->descriptor, info->dim[i]); } - else - stride = gfc_conv_array_stride (info->descriptor, 0); + + i = loop->order[0]; + /* For the time being, the innermost loop is unconditionally on + the first dimension of the scalarization loop. */ + gcc_assert (i == 0); + stride = gfc_conv_array_stride (info->descriptor, info->dim[i]); /* Calculate the stride of the innermost loop. Hopefully this will - allow the backend optimizers to do their stuff more effectively. - */ + allow the backend optimizers to do their stuff more effectively. + */ info->stride0 = gfc_evaluate_now (stride, pblock); } else