This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[Patch, fortran] [0/5] PR 45648: Inline transpose part 2
- From: Mikael Morin <mikael dot morin at sfr dot fr>
- To: gfortran <fortran at gcc dot gnu dot org> , patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 21 Sep 2010 00:21:31 +0200 (CEST)
- Subject: [Patch, fortran] [0/5] PR 45648: Inline transpose part 2
Hello,
this is the second part of the inline transpose patch, re-enabling the
non-copying transposed descriptor optimization.
Allmost all happens in gfc_conv_expr_descriptor:
1/5: We use the scalarizer's dim array to get the right bounds while creating the descriptor.
2/5: This prevents a regression in ret_array_1 where a transposed array was handled as a full array with patch 3/5 alone.
3/5: This bypasses the temporary generation in gfc_conv_expr_descriptor in the transpose case.
4/5: It is a cleanup I made while working on this, but it is somewhat unrelated, and optional actually.
5/5: This forces the creation of a temporary in case there is an alias between actual arguments (corrects a wrong code regression introduced by patch 3/5).
Each patch is regression tested on an older revision and all together on today's trunk.
I will ask for trunk commital for each one of them.
Mikael