This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 6/8] Handle SCRATCH in decompose_address

On Oct 23, 2014, at 9:02 AM, Jeff Law <> 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

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]