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

Stepan Dyatkovskiy stpworld at narod.ru
Wed Oct 10 04:46:46 PDT 2012


r165616.
-Stepan.
Manman Ren wrote:
>
> 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