This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]