This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch][i386] Remove code executed only if reload_in_progress (i.e. never)
- From: Jakub Jelinek <jakub at redhat dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: Uros Bizjak <ubizjak at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 8 Jan 2014 22:58:32 +0100
- Subject: Re: [patch][i386] Remove code executed only if reload_in_progress (i.e. never)
- Authentication-results: sourceware.org; auth=none
- References: <CABu31nM=THn7KWpY9wLsvAjNU+d-mBUw6j+P7NHcZYbvcNpHcw at mail dot gmail dot com>
- Reply-to: Jakub Jelinek <jakub at redhat dot com>
On Wed, Jan 08, 2014 at 10:51:53PM +0100, Steven Bosscher wrote:
> Hello Uros, and everyone else,
>
> Now that LRA is always used for the i386 targets, reload_in_progress
> is never set so all code conditional on it is now dead. The attached
> patch removes this code.
>
> Sadly I'm having difficulty testing the patch because I have no access
> to a suitable x86_64 or ix86 box :-) I'll try to test the patch on a
> compile farm machine, but I'm already posting the patch to hear if
> this is still OK for this late stage of the development cycle. It's
> not as if we're going to go back to reload so the code really is dead
> AFAICT, but it's obviously not a bug fix.
While LRA is always on, making it harder to test with reload doesn't seem to
be a good idea to me for 4.9, when some RA issue is reported for these
architectures, often one just patches config/i386/i386.c by hand to enable
reload instead of LRA and tests it with that instead. This patch would mean
we'd need to keep around a patchset to apply for those purposes.
> * i386/i386.c (legitimize_pic_address): Remove never-executed code,
> reload_in_progress is never set if LRA is used.
> (legitimize_tls_address): Likewise.
> (ix86_expand_move): Likewise.
> (ix86_expand_binary_operator): Likewise.
> (ix86_expand_unary_operator): Likewise.
> * i386/predicates.md (index_register_operand): Likewise.
config/ prefix would be needed in the ChangeLog entries.
Jakub