This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH 6/8] Handle SCRATCH in decompose_address
- From: Maxim Kuvyrkov <maxim dot kuvyrkov at linaro dot org>
- To: Jeff Law <law at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Thu, 23 Oct 2014 12:01:20 +1300
- Subject: Re: [PATCH 6/8] Handle SCRATCH in decompose_address
- Authentication-results: sourceware.org; auth=none
- References: <C9BA4857-0F47-4FF7-AE05-3AEBFB05B786 at linaro dot org> <54480D68 dot 8090709 at redhat dot com>
On Oct 23, 2014, at 9:02 AM, Jeff Law <law@redhat.com> wrote:
> On 10/20/14 21:35, Maxim Kuvyrkov wrote:
>> Hi,
>>
>> This patch is a simple fix to allow decompose_address to handle
>> SCRATCH'es during 2nd scheduler pass. This patch is a prerequisite
>> for a scheduler improvement that relies on decompose_address to parse
>> insns.
>>
>> Bootstrapped and regtested on x86_64-linux-gnu and regtested on
>> arm-linux-gnueabihf and aarch64-linux-gnu.
> I'd like to see some further discussion here.
>
> get_base_term is supposed to look at its argument as a base address. I'm curious under what circumstances you want to have a SCRATCH as a base address?
>
> I didn't see anything in patch #8 which obviously dependended on this, but maybe it's in there, but more subtle than expected.
>
> If you can justify why it's useful to handle scratch in here, then the patch will be fine.
Without this patch decompose_address() ICEs during second scheduler pass on prologue instructions that usually have "(clobber (mem:BLK (scratch))". The only reason for this patch is to prevent that fault and enable use of decompose_address during 2nd scheduler pass.
Does this answer your question, or are you looking for a more in-depth reason?
Thank you,
--
Maxim Kuvyrkov
www.linaro.org