This is the mail archive of the
gcc-prs@gcc.gnu.org
mailing list for the GCC project.
Re: middle-end/7561: Prefetch merging code in gcc-3.1/gcc/loop.c incorect
- From: Janis Johnson <janis187 at us dot ibm dot com>
- To: nobody at gcc dot gnu dot org
- Cc: gcc-prs at gcc dot gnu dot org,
- Date: 14 Aug 2002 16:56:01 -0000
- Subject: Re: middle-end/7561: Prefetch merging code in gcc-3.1/gcc/loop.c incorect
- Reply-to: Janis Johnson <janis187 at us dot ibm dot com>
The following reply was made to PR middle-end/7561; it has been noted by GNATS.
From: Janis Johnson <janis187@us.ibm.com>
To: redmond@ecf.utoronto.ca
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: middle-end/7561: Prefetch merging code in gcc-3.1/gcc/loop.c incorect
Date: Wed, 14 Aug 2002 09:46:02 -0700
On Fri, Aug 09, 2002 at 05:58:32PM -0000, redmond@ecf.utoronto.ca wrote:
>
> >Number: 7561
> >Category: middle-end
> >Synopsis: Prefetch merging code in gcc-3.1/gcc/loop.c incorect
Wow, someone is looking at the prefetch optimization code! I'm still
catching up on mailing lists after a two-week vacation and didn't see
your bug report until just now.
In June I posted some changes to the way the prefetches are merged, and
changed things in general to handle "sparse" prefetches, for which we
prefetch only the cache lines containing data that will be used rather
than every cache line within the section of the array being used. I had
asked Jan Hubicka to take a look at it, but that was when he was in the
middle of lots of other things and I never heard anything from him.
If you're interested in this optimization, please take a look at
http://gcc.gnu.org/ml/gcc-patches/2002-06/msg00660.html.
I can update the patch to apply to the current CVS tree, which I've been
meaning to do anyway; I've been distracted by other things lately. I've
also got some other tweaks locally that help some of the SPEC CPU2000
floating point tests. The new code as written can't be used because
it's much slower, but it's meant to demonstrate changes to how
prefetches are used; once that looks OK it can be changed to do the
same work more quickly.
Janis Johnson
IBM Linux Technology Center