This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA: Make LRA temporarily eliminate addresses before testing constraints
- From: Richard Sandiford <rdsandiford at googlemail dot com>
- To: Vladimir Makarov <vmakarov at redhat dot com>
- Cc: Matthew Fortune <Matthew dot Fortune at imgtec dot com>, Robert Suchanek <Robert dot Suchanek at imgtec dot com>, "gcc-patches\ at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>, Kyrill Tkachov <kyrylo dot tkachov at arm dot com>
- Date: Wed, 04 Jun 2014 18:44:54 +0100
- Subject: Re: RFA: Make LRA temporarily eliminate addresses before testing constraints
- Authentication-results: sourceware.org; auth=none
- References: <B5E67142681B53468FAF6B7C313565623D3DD70C at KLMAIL01 dot kl dot imgtec dot org> <87d2h51dm6 dot fsf at talisman dot default> <B5E67142681B53468FAF6B7C313565623D3E3FED at KLMAIL01 dot kl dot imgtec dot org> <87d2gqfb7t dot fsf at talisman dot default> <B5E67142681B53468FAF6B7C313565623D3E4420 at KLMAIL01 dot kl dot imgtec dot org> <87ob02jodp dot fsf at talisman dot default> <B5E67142681B53468FAF6B7C313565623D3E460A at KLMAIL01 dot kl dot imgtec dot org> <87fvl6hnw2 dot fsf at talisman dot default> <5357D588 dot 6000202 at redhat dot com> <87tx967jnq dot fsf at talisman dot default> <5368EC5F dot 3010006 at arm dot com> <87mweuww37 dot fsf at talisman dot default> <6D39441BF12EF246A7ABCE6654B0235352881A at LEMAIL01 dot le dot imgtec dot org> <87vbtd1njm dot fsf at talisman dot default> <871tvqnai3 dot fsf at talisman dot default> <8761kjaysm dot fsf_-_ at talisman dot default> <538E3500 dot 9040500 at redhat dot com>
Vladimir Makarov <vmakarov@redhat.com> writes:
> On 06/02/2014 03:36 PM, Richard Sandiford wrote:
>> Ping. Imagination's copyright assignment has now gone through and so
>> in principle we're ready for the MIPS LRA switch to go in. We need
>> this LRA patch as a prequisite though.
>>
>> Robert: you also had an LRA change, but is it still needed after this one?
>> If so, could you repost it and explain the case it handles?
>>
>> Thanks,
>> Richard
>>
>> Richard Sandiford <rdsandiford@googlemail.com> writes:
>>> Richard Sandiford <rdsandiford@googlemail.com> writes:
>>>> I think a cleaner way of doing it would be to have helper functions
>>>> that switch in and out of the eliminated form, storing the old form
>>>> in fields of a new structure (either separate from address_info,
>>>> or a local inheritance of it). We probably also want to have arrays
>>>> of address_infos, one for each operand, so that we don't analyse the
>>>> same address too many times during the same insn.
>>> In the end maintaining the array of address_infos seemed like too much
>>> work. It was hard to keep it up-to-date with various other changes
>>> that can be made, including swapping commutative operands, to the point
>>> where it wasn't obvious whether it was really an optimisation or not.
>>>
>>> Here's a patch that does the first. Tested on x86_64-linux-gnu.
>>> This time I also compared the assembly output for gcc.dg, g++.dg
>>> and gcc.c-torture at -O2 on:
>>>
>>> arch64-linux-gnu arm-eabi mipsisa64-sde-elf s390x-linux-gnu
>>> powerpc64-linux-gnu x86_64-linux-gnu
>>>
>>> s390x in particular is very good at exposing problems with this code.
>>> (It caught bugs in the aborted attempt to keep an array of address_infos.)
>>>
>>> OK to install?
>>>
> Yes, Richard. Thanks for the wide testing.
Thanks Vlad, committed as r211242. Given the problems with my first version,
I suppose it'd make sense to wait a few days to see whether there's any
fallout before applying the MIPS backend patch.
Richard