mirror of
https://github.com/RPCS3/llvm.git
synced 2025-01-15 06:18:50 +00:00
Handle storing args to the stack for calls.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117055 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
4da992aeba
commit
5b924809e4
@ -1358,7 +1358,6 @@ bool ARMFastISel::ProcessCallArgs(SmallVectorImpl<Value*> &Args,
|
||||
}
|
||||
|
||||
// Now copy/store arg to correct locations.
|
||||
// TODO: We need custom lowering for f64 args.
|
||||
if (VA.isRegLoc() && !VA.needsCustom()) {
|
||||
BuildMI(*FuncInfo.MBB, FuncInfo.InsertPt, DL, TII.get(TargetOpcode::COPY),
|
||||
VA.getLocReg())
|
||||
@ -1380,11 +1379,14 @@ bool ARMFastISel::ProcessCallArgs(SmallVectorImpl<Value*> &Args,
|
||||
RegArgs.push_back(VA.getLocReg());
|
||||
RegArgs.push_back(NextVA.getLocReg());
|
||||
} else {
|
||||
// Need to store
|
||||
return false;
|
||||
assert(VA.isMemLoc());
|
||||
// Need to store on the stack.
|
||||
unsigned Base = ARM::SP;
|
||||
int Offset = VA.getLocMemOffset();
|
||||
|
||||
if (!ARMEmitStore(ArgVT, Arg, Base, Offset)) return false;
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user