This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch, fortran] Reduce stack use in blocked matmul
- From: Andreas Schwab <schwab at suse dot de>
- To: Thomas Koenig <tkoenig at netcologne dot de>
- Cc: "fortran\@gcc.gnu.org" <fortran at gcc dot gnu dot org>, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 10 May 2017 09:30:57 +0200
- Subject: Re: [patch, fortran] Reduce stack use in blocked matmul
- Authentication-results: sourceware.org; auth=none
- References: <2f81b4a0-79b7-1366-56f3-7355bb9f264a@netcologne.de>
On Mai 05 2017, Thomas Koenig <tkoenig@netcologne.de> wrote:
> @@ -227,6 +226,17 @@ sinclude(`matmul_asm_'rtype_code`.m4')dnl
> if (m == 0 || n == 0 || k == 0)
> return;
>
> + /* Adjust size of t1 to what is needed. */
> + index_type t1_dim;
> + t1_dim = (a_dim1-1) * 256 + b_dim1;
> + if (t1_dim > 65536)
> + t1_dim = 65536;
> +
> +#pragma GCC diagnostic push
> +#pragma GCC diagnostic ignored "-Wvla"
> + 'rtype_name` t1[t1_dim]; /* was [256][256] */
That does the wrong thing if b_dim1 == 0xDEADBEEF.
(gdb) p (a_dim1-1) * 256 + b_dim1
$2 = -764456190
Andreas.
--
Andreas Schwab, SUSE Labs, schwab@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."