[llvm-dev] [AArch64] bug in shrink-wrapping
Quentin Colombet via llvm-dev
llvm-dev at lists.llvm.org
Fri Nov 20 11:57:35 PST 2015
> On Nov 20, 2015, at 9:55 AM, Arnaud A. de Grandmaison <arnaud.degrandmaison at arm.com> wrote:
>
>
>
>> -----Original Message-----
>> From: qcolombet at apple.com [mailto:qcolombet at apple.com]
>> Sent: 20 November 2015 18:07
>> To: Arnaud De Grandmaison
>> Cc: haicheng at codeaurora.org; llvm-dev at lists.llvm.org
>> Subject: Re: [llvm-dev] [AArch64] bug in shrink-wrapping
>>
>> Hi Arnaud,
>>
>> Thanks for following up with that and sorry for the breakage.
>>
>> Couple of comments:
>> MachineLoopInfo *MLI;
>> + RegScavenger *RS;
>>
>> Would it make sense to use a unique_ptr here?
>> That should eliminate the need of having explicit deletes.
>
> Using unique_ptr was my first attempt at fixing the memory leak :)
>
> I do not think you can, unless there is a way to "reset" (or create for the
> first time) the register scavenger for each function which requires it.
>
> The logical place where to put the unique_ptr would be in the
> runOnMachineFunction (and not as a class member) because this method has
> multiple exit paths, but the scavenger has to be passed around several calls
> then.
Looks like you have a better hand on this than me :).
>
>>
>> +; RUN: llc -mtriple=aarch64-linux-gnu -o - %s
>>
>> Add -enable-shrink-wrap=true and a second RUN line with -enable-shrink-
>> wrap=false.
>> Then add check lines for both to ensure shrink-wrapping is doing the right
>> thing.
>
> I was checking here for the crash only, so not having a crash is a
> successfully passing test. I should maybe improve the comment.
>
> If I understand you well, you want to additionally check shrink-wrapping is
> doing the right thing as it seems there was a coverage hole there.
>
> I would suggest that this is added as a follow-up patch, as this is for now
> breaking internal bots and it may take a bit of time for me to understand
> what are the actual expectations from shrink-wrap.
Fair enough, please proceed!
Thanks,
Q.
>
>>
>> + %0 = load i32, i32* @g1, align 4
>> Please use opt -instnamer to get rid of the numbered variables. Those are
> a
>> pain when updating the tests :).
>
> Sure, will do.
>
>>
>> Other than that LGTM!
>>
>> Cheers,
>> -Quentin
>>
>>> On Nov 20, 2015, at 6:31 AM, Arnaud A. de Grandmaison
>> <arnaud.degrandmaison at arm.com> wrote:
>>>
>>> +CC llvm-dev
>>>
>>>> -----Original Message-----
>>>> From: Arnaud A. de Grandmaison
>> [mailto:arnaud.degrandmaison at arm.com]
>>>> Sent: 20 November 2015 15:28
>>>> To: 'qcolombet at apple.com'
>>>> Cc: 'haicheng at codeaurora.org'
>>>> Subject: RE: [llvm-dev] [AArch64] bug in shrink-wrapping
>>>>
>>>> Now with memory leak addressed.
>>>>
>>>> Cheers,
>>>> Arnaud
>>>>
>>>>> -----Original Message-----
>>>>> From: Arnaud A. de Grandmaison
>>>> [mailto:arnaud.degrandmaison at arm.com]
>>>>> Sent: 20 November 2015 14:42
>>>>> To: 'qcolombet at apple.com'
>>>>> Cc: 'haicheng at codeaurora.org'
>>>>> Subject: RE: [llvm-dev] [AArch64] bug in shrink-wrapping
>>>>>
>>>>> There is a memory leak in my previous patch, let me fix it.
>>>>>
>>>>> Cheers,
>>>>> Arnaud
>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Arnaud A. de Grandmaison
>>>>> [mailto:arnaud.degrandmaison at arm.com]
>>>>>> Sent: 20 November 2015 12:49
>>>>>> To: qcolombet at apple.com
>>>>>> Cc: 'haicheng at codeaurora.org'
>>>>>> Subject: RE: [llvm-dev] [AArch64] bug in shrink-wrapping
>>>>>>
>>>>>> Hi Quentin,
>>>>>>
>>>>>> I believe the attached patch fixes the issue. Can you review it ?
>>>>>>
>>>>>> Cheers,
>>>>>> Arnaud
>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf
>>>>>>> Of via llvm-dev
>>>>>>> Sent: 20 November 2015 05:37
>>>>>>> To: qcolombet at apple.com
>>>>>>> Cc: llvm-dev at lists.llvm.org
>>>>>>> Subject: [llvm-dev] [AArch64] bug in shrink-wrapping
>>>>>>>
>>>>>>> Hi Quentin,
>>>>>>>
>>>>>>> After shrink-wrapping was enabled as default on AArch64, llc has a
>>>>>>> seg fault when compiling the attached .ll file on AArch64.
>>>>>>>
>>>>>>> My command is
>>>>>>>
>>>>>>> llc -mcpu=cortex-a57 bug.ll
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>> Haicheng
>>> <0001-ShrinkWrap-Teach-ShrinkWrap-to-handle-targets-requir.patch>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20151120/1abc35c2/attachment.html>
More information about the llvm-dev
mailing list