This is the mail archive of the
mailing list for the GCC project.
Re: [Patch PR44955]: Strip off the real and imagine part in gathering memory references for prefetching
- From: Christian Borntraeger <borntraeger at de dot ibm dot com>
- To: "Fang, Changpeng" <Changpeng dot Fang at amd dot com>
- Cc: Zdenek Dvorak <rakdver at kam dot mff dot cuni dot cz>, Richard Guenther <richard dot guenther at gmail dot com>, Sebastian Pop <sebpop at gmail dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, "uweigand at de dot ibm dot com" <uweigand at de dot ibm dot com>
- Date: Wed, 21 Jul 2010 10:03:28 +0200
- Subject: Re: [Patch PR44955]: Strip off the real and imagine part in gathering memory references for prefetching
- References: <D4C76825A6780047854A11E93CDE84D00A678CF8@SAUSEXMBP01.amd.com>
Am Dienstag 20 Juli 2010, 23:02:19 schrieb Fang, Changpeng:
> Attached is a patch that fixes bug 44955: over-prefetched for array of complex numbers.
> Current prefetch pass inserts prefetches for the real part and imagine part of a complex array
> separately, and thus over-prefetched. The reason is that they have different bases and go to
> different groups, and reuse analysis could not be performed across groups.
> The attached patch strip off the REALPART_EXPR and IMAGPART_EXPR with an adjustment
> of the offset for the IMAGPART_EXPR. As a result, the related two references could have the same
> base and fall into the same group. For the test case in bug 44955, prefetches are generated only
> for the real parts after applying the patch.
> Ptached passed bootstrapping.
Works also fine on s390.