diff --git a/llvm/lib/Target/M68k/GlSel/M68kCallLowering.cpp b/llvm/lib/Target/M68k/GlSel/M68kCallLowering.cpp --- a/llvm/lib/Target/M68k/GlSel/M68kCallLowering.cpp +++ b/llvm/lib/Target/M68k/GlSel/M68kCallLowering.cpp @@ -68,7 +68,7 @@ auto &DL = F.getParent()->getDataLayout(); if (!VRegs.empty()) { SmallVector SplitArgs; - ArgInfo OrigArg{VRegs, Val->getType()}; + ArgInfo OrigArg{VRegs, Val->getType(), 0}; setArgFlags(OrigArg, AttributeList::ReturnIndex, DL, F); splitToValueTypes(OrigArg, SplitArgs, DL, F.getCallingConv()); OutgoingValueAssigner ArgAssigner(AssignFn); @@ -93,7 +93,7 @@ SmallVector SplitArgs; unsigned I = 0; for (const auto &Arg : F.args()) { - ArgInfo OrigArg{VRegs[I], Arg.getType()}; + ArgInfo OrigArg{VRegs[I], Arg.getType(), I}; setArgFlags(OrigArg, I + AttributeList::FirstArgIndex, DL, F); splitToValueTypes(OrigArg, SplitArgs, DL, F.getCallingConv()); ++I;