This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Patch: PR40900, extending call patterns
- From: Paolo Bonzini <bonzini at gnu dot org>
- To: Eric Botcazou <ebotcazou at adacore dot com>
- Cc: Bernd Schmidt <bernds at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, Andrew Pinski <pinskia at gmail dot com>
- Date: Sat, 1 May 2010 12:44:38 +0200
- Subject: Re: Patch: PR40900, extending call patterns
- References: <4BDA2513.9000705@codesourcery.com> <4BDA9B5F.2040507@gnu.org> <4BDADDB4.9060904@codesourcery.com> <201005010054.17350.ebotcazou@adacore.com>
On Sat, May 1, 2010 at 00:54, Eric Botcazou <ebotcazou@adacore.com> wrote:
>> When finished, it looks like the one below. ?Simply setting
>> sign_bit_copies in record_dead_and_set_regs_1 doesn't work, and rather
>> than duplicating the bookkeeping I construct a small piece of RTL to
>> pass to record_value_for_reg that makes it do the right thing.
>>
>> This works without modifying backends, but it has the drawback that it
>> can't optimize indirect calls since we're lacking a decl for them.
REG_EXPR?
> And going back to the Tree level in the RTL combiner is ugly. ?Why can PowerPC
> and MIPS already optimize this and not ARM? ?That's worth investigating.
True, however promote_function_mode is already being used by combine
for similar reasons (see setup_incoming_promotions), which is why I
suggested it.
Paolo