diff options
author | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-02-26 13:22:43 +0000 |
---|---|---|
committer | Thomas Koenig <tkoenig@gcc.gnu.org> | 2017-02-26 13:22:43 +0000 |
commit | c7b608a9f7d5785714e9d46548ee0f5f85b109be (patch) | |
tree | 9563b838df164709ffbd08a5b4dff1b70a81dc31 /gcc/fortran/options.c | |
parent | 462a7b568542e2dabd2aa6632976d47a3780deb1 (diff) | |
download | gcc-c7b608a9f7d5785714e9d46548ee0f5f85b109be.zip gcc-c7b608a9f7d5785714e9d46548ee0f5f85b109be.tar.gz gcc-c7b608a9f7d5785714e9d46548ee0f5f85b109be.tar.bz2 |
re PR libfortran/51119 (MATMUL slow for large matrices)
2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/51119
* options.c (gfc_post_options): Set default limit for matmul
inlining to 30.
* invoke.texi: Document change.
2017-02-26 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/51119
* gfortran.dg/inline_matmul_1.f90: Scan optimized dump instead
of original.
* gfortran.dg/inline_matmul_11.f90: Likewise.
* gfortran.dg/inline_matmul_9.f90: Likewise.
* gfortran.dg/matmul_13.f90: New test.
* gfortran.dg/matmul_14.f90: New test.
From-SVN: r245745
Diffstat (limited to 'gcc/fortran/options.c')
-rw-r--r-- | gcc/fortran/options.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/gcc/fortran/options.c b/gcc/fortran/options.c index dc8df5b..1af76aa 100644 --- a/gcc/fortran/options.c +++ b/gcc/fortran/options.c @@ -388,10 +388,16 @@ gfc_post_options (const char **pfilename) if (!flag_automatic) flag_max_stack_var_size = 0; - /* If we call BLAS directly, only inline up to the BLAS limit. */ + /* If the user did not specify an inline matmul limit, inline up to the BLAS + limit or up to 30 if no external BLAS is specified. */ - if (flag_external_blas && flag_inline_matmul_limit < 0) - flag_inline_matmul_limit = flag_blas_matmul_limit; + if (flag_inline_matmul_limit < 0) + { + if (flag_external_blas) + flag_inline_matmul_limit = flag_blas_matmul_limit; + else + flag_inline_matmul_limit = 30; + } /* Optimization implies front end optimization, unless the user specified it directly. */ |