This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Address lowering [1/3] Main patch
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: "William J. Schmidt" <wschmidt at linux dot vnet dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Mon, 4 Jul 2011 16:21:50 +0200
- Subject: Re: [PATCH] Address lowering [1/3] Main patch
- References: <1309444782.26980.52.camel@oc2474580526.ibm.com>
On Thu, Jun 30, 2011 at 4:39 PM, William J. Schmidt
<wschmidt@linux.vnet.ibm.com> wrote:
> This is the first of three patches related to lowering addressing
> expressions to MEM_REFs and TARGET_MEM_REFs in late gimple. ?This patch
> contains the new pass together with supporting changes in existing
> modules. ?The second patch contains an independent change to the RTL
> forward propagator to keep it from undoing an optimization made in the
> first patch. ?The third patch contains new test cases and changes to
> existing test cases.
>
> Although I've broken it up into three patches to make the review easier,
> it would be best to commit at least the first and third together to
> avoid regressions. ?The second can stand alone.
>
> I've done regression tests on powerpc64 and x86_64, and have asked
> Andreas Krebbel to test against the IBM z (390) platform. ?I've done
> performance regression testing on powerpc64. ?The only performance
> regression of note is the 2% degradation to 188.ammp due to loss of
> field disambiguation information. ?As discussed in another thread,
> fixing this introduces more complexity than it's worth.
Are there also performance improvements? What about code size?
I tried to get an understanding to what kind of optimizations this patch
produces based on the test of testcases you added, but I have a hard
time here. Can you outline some please?
I still do not like the implementation of yet another CSE machinery
given that we already have two. I think most of the need for CSE
comes from the use of the affine combination framework and
force_gimple_operand. In fact I'd be interested to see cases that
are optimized that could not be handled by a combine-like
pattern matcher?
Thanks,
Richard.