[llvm-commits] [ARM] Scheduler FixedFrame object vs byval formal parameters
Manman Ren
mren at apple.com
Tue Oct 9 10:20:43 PDT 2012
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>
More information about the llvm-commits
mailing list