This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Address lowering [1/3] Main patch


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]