[llvm-commits] [ARM] Scheduler FixedFrame object vs byval formal parameters

Manman Ren mren at apple.com
Tue Oct 9 12:38:24 PDT 2012


LGTM

Thanks,
Manman

On Oct 9, 2012, at 12:13 PM, Stepan Dyatkovskiy <stpworld at narod.ru> wrote:

> Oh sorry. VA.getValNo() should be used everywhere. Fixed and reattached.
> -Stepan.
> Manman Ren wrote:
>> 
>> Hi Stepan,
>> 
>> +    std::advance(CurOrigArg, Ins[VA.getValNo()].OrigArgIndex - CurArgIdx);
>> +    CurArgIdx = Ins[VA.getValNo()].OrigArgIndex;
>>      // Arguments stored in registers.
>>      if (VA.isRegLoc()) {
>>        EVT RegVT = VA.getLocVT();
>> @@ -2709,7 +2713,8 @@
>>            if (Flags.isByVal()) {
>>              unsigned VARegSize, VARegSaveSize;
>>              computeRegArea(CCInfo, MF, VARegSize, VARegSaveSize);
>> -            VarArgStyleRegisters(CCInfo, DAG, dl, Chain, 0);
>> +            VarArgStyleRegisters(CCInfo, DAG,
>> +                                 dl, Chain, CurOrigArg, Ins[i].PartOffset, 0);
>> Is there any reason you use VA.getValNo() to index Ins for the 1st change and i to index Ins for the 2nd change/
>> 
>> Looks good otherwise,
>> 
>> Thanks,
>> Manman
>> 
>> On Oct 8, 2012, at 11:15 AM, Stepan Dyatkovskiy wrote:
>> 
>>> Sergei,
>>> 
>>> Sorry, I forgot to reattach testcase to the reworked patch. Please find updated patch in attachment. I also attached testcase separately.
>>> 
>>> -Stepan.
>>> 
>>> Sergei Larin wrote:
>>>> Stepan,
>>>> 
>>>>   Do you have an example that illustrates your issue? Sorry if you have
>>>> already send it before... Thanks.
>>> 
>>> <byval-scheduler-fix-2.patch><2012-10-04-FixedFrame-vs-byval.ll>
>> 
> 
> <byval-scheduler-fix-2.patch>




More information about the llvm-commits mailing list