[LLVMdev] Register pressure mechanism in PRE or Smarter rematerialization/split/spiller/coalescing ?

Lawrence lawrence at codeaurora.org
Fri Jul 17 13:49:06 PDT 2015


I have confirmed I didn't make any mistake, opened Bug 24171 - [AArch64] 403050abcc091260be2e8f58484e7a39c0782b47 increased Spill/Reload/ by 5 times (edit) for it.

Regards

Lawrence Hu

-----Original Message-----
From: Daniel Berlin [mailto:dberlin at dberlin.org] 
Sent: Friday, July 17, 2015 10:18 AM
To: Philip Reames
Cc: Lawrence; LLVM Developers Mailing List
Subject: Re: [LLVMdev] Register pressure mechanism in PRE or Smarter rematerialization/split/spiller/coalescing ?

On Fri, Jul 17, 2015 at 10:07 AM, Philip Reames <listmail at philipreames.com> wrote:
> On 07/16/2015 06:04 PM, Daniel Berlin wrote:
>>
>> That should be literally impossible, which makes me think something 
>> was tested wrong
>>
>> The second patch i posted disables scalar pre (assuming you use
>> -disable-pre) but not load pre.
>>
>> Since the patch you reverted touched only scalar pre, disabling 
>> scalar pre should *also* do the same thing.
>
> Unless that benchmark is relying on *some* scalar PRE happening, but 
> not "too much".  i.e. it could be a really really fragile benchmark 
> which seems to fit the description.

Sorry, yes, let me rephrase: It should not be having performance loss due to the same root cause.
The failure mode described was GEP live ranges being extended due to new phis that PRE was inserting.
That should not be happening, because it can't be doing that anymore :)





More information about the llvm-dev mailing list