[Patch, fortran] [57..59/66] inline sum and product: Prevent regressions: Fix {min, max}{loc, val}
Mikael Morin
mikael.morin@sfr.fr
Thu Oct 27 23:36:00 GMT 2011
Patches 58 and 59 fix the {min,max}loc and {min,max}val intrinsics which use
multiple loops. See the comments in the patches for details.
Patch 57 avoids duplicated offset calculation in the code generated.
OK?
-------------- next part --------------
2011-10-19 Mikael Morin <mikael@gcc.gnu.org>
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Don't calculate
offset twice in generated code.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr43829-57.patch
Type: text/x-diff
Size: 1999 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20111027/36d26d6d/attachment.bin>
-------------- next part --------------
2011-10-19 Mikael Morin <mikael@gcc.gnu.org>
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxloc): Set loop's
temporary rank to the loop rank. Mark ss chains for multiple loop
if necessary. Use gfc_trans_scalarized_loop_boundary to end one loop
and start another.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr43829-58.patch
Type: text/x-diff
Size: 2631 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20111027/36d26d6d/attachment-0001.bin>
-------------- next part --------------
2011-10-19 Mikael Morin <mikael@gcc.gnu.org>
* trans-intrinsic.c (gfc_conv_intrinsic_minmaxval): Set loop's
temporary rank to the loop rank. Mark ss chains for multiple loop
if necessary. Use gfc_trans_scalarized_loop_boundary to end one loop
and start another.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr43829-59.patch
Type: text/x-diff
Size: 2460 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20111027/36d26d6d/attachment-0002.bin>
More information about the Fortran
mailing list