===================================================================
@@ -1630,7 +1630,7 @@ square, the size comparison is performed using the
the dimensions of the argument and result matrices.
The default value for @var{n} is the value specified for
-@code{-fblas-matmul-limit} if this option is specified, or unlimitited
+@code{-fblas-matmul-limit} if this option is specified, or 30
otherwise.
@item -frecursive
===================================================================
@@ -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. */
===================================================================
@@ -1,5 +1,5 @@
! { dg-do run }
-! { dg-options "-ffrontend-optimize -fdump-tree-original -Wrealloc-lhs" }
+! { dg-options "-ffrontend-optimize -fdump-tree-optimized -Wrealloc-lhs" }
! PR 37131 - check basic functionality of inlined matmul, making
! sure that the library is not called, with and without reallocation.
@@ -149,4 +149,4 @@ program main
end program main
-! { dg-final { scan-tree-dump-times "_gfortran_matmul" 0 "original" } }
+! { dg-final { scan-tree-dump-times "_gfortran_matmul" 0 "optimized" } }
===================================================================
@@ -1,5 +1,5 @@
! { dg-do run }
-! { dg-additional-options "-ffrontend-optimize -fdump-tree-original" }
+! { dg-additional-options "-ffrontend-optimize -fdump-tree-optimized" }
! PR fortran/66176 - inline conjg for matml.
program main
complex, dimension(3,2) :: a
@@ -29,4 +29,4 @@ program main
c = matmul(conjg(a), b)
if (any(conjg(c) /= res2)) call abort
end program main
-! { dg-final { scan-tree-dump-times "_gfortran_matmul" 0 "original" } }
+! { dg-final { scan-tree-dump-times "_gfortran_matmul" 0 "optimized" } }
===================================================================
@@ -1,5 +1,5 @@
! { dg-do run }
-! { dg-options "-ffrontend-optimize -fdump-tree-original" }
+! { dg-options "-ffrontend-optimize -fdump-tree-optimized" }
! PR 66041 - this used to ICE with an incomplete fix for the PR.
program main
implicit none
@@ -21,4 +21,4 @@ program main
if (any (c2-reshape([248., -749.],shape(c2)) /= 0.)) call abort
end program main
-! { dg-final { scan-tree-dump-times "_gfortran_matmul" 0 "original" } }
+! { dg-final { scan-tree-dump-times "_gfortran_matmul" 0 "optimized" } }