diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-12-20 11:51:05 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2019-12-20 11:51:05 +0000 |
commit | 95d27703bc8777efe9cdf2a1d8cac7a08b1f7168 (patch) | |
tree | 2ced2afc4d48ec55f5d67887dcf87f78589301db /gcc/fortran/trans-array.c | |
parent | de89b5748d68b76b06e3beca4a956060afb79a3d (diff) | |
download | gcc-95d27703bc8777efe9cdf2a1d8cac7a08b1f7168.zip gcc-95d27703bc8777efe9cdf2a1d8cac7a08b1f7168.tar.gz gcc-95d27703bc8777efe9cdf2a1d8cac7a08b1f7168.tar.bz2 |
Introduce -finline-arg-packing.
2019-12-20 Thomas Koenig <tkoenig@gcc.gnu.org>
PR middle-end/91512
PR fortran/92738
* invoke.texi: Document -finline-arg-packing.
* lang.opt: Add -finline-arg-packing.
* options.c (gfc_post_options): Handle -finline-arg-packing.
* trans-array.c (gfc_conv_array_parameter): Use
flag_inline_arg_packing instead of checking for optimize and
optimize_size.
2019-12-20 Thomas Koenig <tkoenig@gcc.gnu.org>
PR middle-end/91512
PR fortran/92738
* gfortran.dg/inline_pack_25.f90: New test.
From-SVN: r279639
Diffstat (limited to 'gcc/fortran/trans-array.c')
-rw-r--r-- | gcc/fortran/trans-array.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/fortran/trans-array.c b/gcc/fortran/trans-array.c index e879ea1..226fc3a 100644 --- a/gcc/fortran/trans-array.c +++ b/gcc/fortran/trans-array.c @@ -8139,7 +8139,7 @@ gfc_conv_array_parameter (gfc_se * se, gfc_expr * expr, bool g77, making the packing and unpacking operation visible to the optimizers. */ - if (g77 && optimize && !optimize_size && expr->expr_type == EXPR_VARIABLE + if (g77 && flag_inline_arg_packing && expr->expr_type == EXPR_VARIABLE && !is_pointer (expr) && ! gfc_has_dimen_vector_ref (expr) && !(expr->symtree->n.sym->as && expr->symtree->n.sym->as->type == AS_ASSUMED_RANK) |