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  <mikael@gcc.gnu.org>

	* trans-array.c (gfc_trans_preloop_setup): Unconditionally use the
	dim array to get the stride in the innermost loop.

From-SVN: r164103
This commit is contained in:
Mikael Morin 2010-09-09 13:54:34 +00:00
parent de8e52f063
commit 79c3dc5f22
2 changed files with 13 additions and 7 deletions

View File

@ -1,3 +1,8 @@
2010-09-09 Mikael Morin <mikael@gcc.gnu.org>
* 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 <mikael@gcc.gnu.org>
* trans-array.c (gfc_trans_create_temp_array): Don't set dim array.

View File

@ -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