mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-06-15 05:24:01 +00:00
ARM byval support. Will be enabled by another patch to the FE. <rdar://problem/7662569>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@129858 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
@ -25,10 +25,12 @@ using namespace llvm;
|
||||
CCState::CCState(CallingConv::ID CC, bool isVarArg, const TargetMachine &tm,
|
||||
SmallVector<CCValAssign, 16> &locs, LLVMContext &C)
|
||||
: CallingConv(CC), IsVarArg(isVarArg), TM(tm),
|
||||
TRI(*TM.getRegisterInfo()), Locs(locs), Context(C) {
|
||||
TRI(*TM.getRegisterInfo()), Locs(locs), Context(C),
|
||||
CallOrPrologue(Invalid) {
|
||||
// No stack is used.
|
||||
StackOffset = 0;
|
||||
|
||||
clearFirstByValReg();
|
||||
UsedRegs.resize((TRI.getNumRegs()+31)/32);
|
||||
}
|
||||
|
||||
@ -45,10 +47,9 @@ void CCState::HandleByVal(unsigned ValNo, MVT ValVT,
|
||||
Size = MinSize;
|
||||
if (MinAlign > (int)Align)
|
||||
Align = MinAlign;
|
||||
TM.getTargetLowering()->HandleByVal(const_cast<CCState*>(this), Size);
|
||||
unsigned Offset = AllocateStack(Size, Align);
|
||||
|
||||
addLoc(CCValAssign::getMem(ValNo, ValVT, Offset, LocVT, LocInfo));
|
||||
TM.getTargetLowering()->HandleByVal(const_cast<CCState*>(this));
|
||||
}
|
||||
|
||||
/// MarkAllocated - Mark a register and all of its aliases as allocated.
|
||||
|
Reference in New Issue
Block a user