This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
RE: [PATCH, combine] Try REG_EQUAL for nonzero_bits
- From: "Thomas Preud'homme" <thomas dot preudhomme at arm dot com>
- To: "'Jeff Law'" <law at redhat dot com>, "'Eric Botcazou'" <ebotcazou at adacore dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 30 Apr 2015 19:09:39 +0800
- Subject: RE: [PATCH, combine] Try REG_EQUAL for nonzero_bits
- Authentication-results: sourceware.org; auth=none
- References: <000001d00546$33445430$99ccfc90$ at arm dot com> <1667449 dot SiF8mNp2oU at polaris> <000601d015e4$3915ef50$ab41cdf0$ at arm dot com> <2389505 dot JqqgOpb7ZL at polaris> <00f101d044d5$51ddaf30$f5990d90$ at arm dot com> <553A92C1 dot 10603 at redhat dot com> <000901d080d4$aa49a6c0$fedcf440$ at arm dot com> <553E6359 dot 2030509 at redhat dot com>
> From: Jeff Law [mailto:law@redhat.com]
> Sent: Tuesday, April 28, 2015 12:27 AM
> To: Thomas Preud'homme; 'Eric Botcazou'
> Cc: gcc-patches@gcc.gnu.org
> Subject: Re: [PATCH, combine] Try REG_EQUAL for nonzero_bits
>
> On 04/27/2015 04:26 AM, Thomas Preud'homme wrote:
> >> From: Jeff Law [mailto:law@redhat.com]
> >> Sent: Saturday, April 25, 2015 3:00 AM
> >> Do you have a testcase where this change can result in better
> generated
> >> code. If so please add that testcase. It's OK if it's ARM specific.
> >
> > Hi Jeff,
> >
> > Last time I tried I couldn't reduce the code to a small testcase but if I
> remember
> > well it was mostly due to the problem of finding a good test for creduce
> > (zero extension is not unique enough). I'll try again with a more manual
> approach
> > and get back to you.
> OK. No need for heroics -- give it a shot, but don't burn an insane
> amount of time on it. If we can't get to a reasonable testcase, then so
> be it.
Sadly I couldn't get a testcase. I get almost same sequence of instruction as the program we found the problem into but couldn't get exactly the same. In all the cases I constructed the nonzero_bits info we already have were enough for combine to do its job. I couldn't find what cause this information to be inaccurate. I will try to investigate a bit further on Monday as another pass might not be doing its job properly. Or maybe there's something that prevent information being propagated.
Best regards,
Thomas