mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-05 01:31:05 +00:00
Remove isSS argument from CreateFixedObject. Fixed objects cannot be spill slots so it's always false.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@107550 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
2c70d4ad35
commit
ed2ae136d2
@ -98,8 +98,7 @@ class MachineFrameInfo {
|
||||
// cannot alias any other memory objects.
|
||||
bool isSpillSlot;
|
||||
|
||||
StackObject(uint64_t Sz, unsigned Al, int64_t SP, bool IM,
|
||||
bool isSS)
|
||||
StackObject(uint64_t Sz, unsigned Al, int64_t SP, bool IM, bool isSS)
|
||||
: SPOffset(SP), Size(Sz), Alignment(Al), isImmutable(IM),
|
||||
isSpillSlot(isSS) {}
|
||||
};
|
||||
@ -350,8 +349,7 @@ public:
|
||||
/// efficiency. By default, fixed objects are immutable. This returns an
|
||||
/// index with a negative value.
|
||||
///
|
||||
int CreateFixedObject(uint64_t Size, int64_t SPOffset,
|
||||
bool Immutable, bool isSS);
|
||||
int CreateFixedObject(uint64_t Size, int64_t SPOffset, bool Immutable);
|
||||
|
||||
|
||||
/// isFixedObjectIndex - Returns true if the specified index corresponds to a
|
||||
|
@ -438,10 +438,10 @@ MCSymbol *MachineFunction::getJTISymbol(unsigned JTI, MCContext &Ctx,
|
||||
/// index with a negative value.
|
||||
///
|
||||
int MachineFrameInfo::CreateFixedObject(uint64_t Size, int64_t SPOffset,
|
||||
bool Immutable, bool isSS) {
|
||||
bool Immutable) {
|
||||
assert(Size != 0 && "Cannot allocate zero size fixed stack objects!");
|
||||
Objects.insert(Objects.begin(), StackObject(Size, 1, SPOffset, Immutable,
|
||||
isSS));
|
||||
/*isSS*/false));
|
||||
return -++NumFixedObjects;
|
||||
}
|
||||
|
||||
|
@ -260,8 +260,7 @@ void PEI::calculateCalleeSavedRegisters(MachineFunction &Fn) {
|
||||
if ((unsigned)FrameIdx > MaxCSFrameIndex) MaxCSFrameIndex = FrameIdx;
|
||||
} else {
|
||||
// Spill it to the stack where we must.
|
||||
FrameIdx = MFI->CreateFixedObject(RC->getSize(), FixedSlot->Offset,
|
||||
true, false);
|
||||
FrameIdx = MFI->CreateFixedObject(RC->getSize(), FixedSlot->Offset, true);
|
||||
}
|
||||
|
||||
I->setFrameIdx(FrameIdx);
|
||||
|
@ -1996,7 +1996,7 @@ ARMTargetLowering::GetF64FormalArgument(CCValAssign &VA, CCValAssign &NextVA,
|
||||
SDValue ArgValue2;
|
||||
if (NextVA.isMemLoc()) {
|
||||
MachineFrameInfo *MFI = MF.getFrameInfo();
|
||||
int FI = MFI->CreateFixedObject(4, NextVA.getLocMemOffset(), true, false);
|
||||
int FI = MFI->CreateFixedObject(4, NextVA.getLocMemOffset(), true);
|
||||
|
||||
// Create load node to retrieve arguments from the stack.
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
@ -2052,8 +2052,7 @@ ARMTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
VA = ArgLocs[++i]; // skip ahead to next loc
|
||||
SDValue ArgValue2;
|
||||
if (VA.isMemLoc()) {
|
||||
int FI = MFI->CreateFixedObject(8, VA.getLocMemOffset(),
|
||||
true, false);
|
||||
int FI = MFI->CreateFixedObject(8, VA.getLocMemOffset(), true);
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
ArgValue2 = DAG.getLoad(MVT::f64, dl, Chain, FIN,
|
||||
PseudoSourceValue::getFixedStack(FI), 0,
|
||||
@ -2120,8 +2119,7 @@ ARMTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
assert(VA.getValVT() != MVT::i64 && "i64 should already be lowered");
|
||||
|
||||
unsigned ArgSize = VA.getLocVT().getSizeInBits()/8;
|
||||
int FI = MFI->CreateFixedObject(ArgSize, VA.getLocMemOffset(),
|
||||
true, false);
|
||||
int FI = MFI->CreateFixedObject(ArgSize, VA.getLocMemOffset(), true);
|
||||
|
||||
// Create load nodes to retrieve arguments from the stack.
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
@ -2152,7 +2150,7 @@ ARMTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
AFI->setVarArgsFrameIndex(
|
||||
MFI->CreateFixedObject(VARegSaveSize,
|
||||
ArgOffset + VARegSaveSize - VARegSize,
|
||||
true, false));
|
||||
true));
|
||||
SDValue FIN = DAG.getFrameIndex(AFI->getVarArgsFrameIndex(),
|
||||
getPointerTy());
|
||||
|
||||
@ -2179,8 +2177,7 @@ ARMTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
&MemOps[0], MemOps.size());
|
||||
} else
|
||||
// This will point to the next argument passed via stack.
|
||||
AFI->setVarArgsFrameIndex(MFI->CreateFixedObject(4, ArgOffset,
|
||||
true, false));
|
||||
AFI->setVarArgsFrameIndex(MFI->CreateFixedObject(4, ArgOffset, true));
|
||||
}
|
||||
|
||||
return Chain;
|
||||
|
@ -425,7 +425,7 @@ AlphaTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
}
|
||||
} else { //more args
|
||||
// Create the frame index object for this incoming parameter...
|
||||
int FI = MFI->CreateFixedObject(8, 8 * (ArgNo - 6), true, false);
|
||||
int FI = MFI->CreateFixedObject(8, 8 * (ArgNo - 6), true);
|
||||
|
||||
// Create the SelectionDAG nodes corresponding to a load
|
||||
//from this parameter
|
||||
@ -444,7 +444,7 @@ AlphaTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
if (TargetRegisterInfo::isPhysicalRegister(args_int[i]))
|
||||
args_int[i] = AddLiveIn(MF, args_int[i], &Alpha::GPRCRegClass);
|
||||
SDValue argt = DAG.getCopyFromReg(Chain, dl, args_int[i], MVT::i64);
|
||||
int FI = MFI->CreateFixedObject(8, -8 * (6 - i), true, false);
|
||||
int FI = MFI->CreateFixedObject(8, -8 * (6 - i), true);
|
||||
if (i == 0) FuncInfo->setVarArgsBase(FI);
|
||||
SDValue SDFI = DAG.getFrameIndex(FI, MVT::i64);
|
||||
LS.push_back(DAG.getStore(Chain, dl, argt, SDFI, NULL, 0,
|
||||
@ -453,7 +453,7 @@ AlphaTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
if (TargetRegisterInfo::isPhysicalRegister(args_float[i]))
|
||||
args_float[i] = AddLiveIn(MF, args_float[i], &Alpha::F8RCRegClass);
|
||||
argt = DAG.getCopyFromReg(Chain, dl, args_float[i], MVT::f64);
|
||||
FI = MFI->CreateFixedObject(8, - 8 * (12 - i), true, false);
|
||||
FI = MFI->CreateFixedObject(8, - 8 * (12 - i), true);
|
||||
SDFI = DAG.getFrameIndex(FI, MVT::i64);
|
||||
LS.push_back(DAG.getStore(Chain, dl, argt, SDFI, NULL, 0,
|
||||
false, false, 0));
|
||||
|
@ -205,8 +205,7 @@ BlackfinTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
} else {
|
||||
assert(VA.isMemLoc() && "CCValAssign must be RegLoc or MemLoc");
|
||||
unsigned ObjSize = VA.getLocVT().getStoreSize();
|
||||
int FI = MFI->CreateFixedObject(ObjSize, VA.getLocMemOffset(),
|
||||
true, false);
|
||||
int FI = MFI->CreateFixedObject(ObjSize, VA.getLocMemOffset(), true);
|
||||
SDValue FIN = DAG.getFrameIndex(FI, MVT::i32);
|
||||
InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN, NULL, 0,
|
||||
false, false, 0));
|
||||
|
@ -1074,7 +1074,7 @@ SPUTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
// We need to load the argument to a virtual register if we determined
|
||||
// above that we ran out of physical registers of the appropriate type
|
||||
// or we're forced to do vararg
|
||||
int FI = MFI->CreateFixedObject(ObjSize, ArgOffset, true, false);
|
||||
int FI = MFI->CreateFixedObject(ObjSize, ArgOffset, true);
|
||||
SDValue FIN = DAG.getFrameIndex(FI, PtrVT);
|
||||
ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, NULL, 0, false, false, 0);
|
||||
ArgOffset += StackSlotSize;
|
||||
@ -1095,8 +1095,7 @@ SPUTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
|
||||
for (; ArgRegIdx != NumArgRegs; ++ArgRegIdx) {
|
||||
FuncInfo->setVarArgsFrameIndex(
|
||||
MFI->CreateFixedObject(StackSlotSize, ArgOffset,
|
||||
true, false));
|
||||
MFI->CreateFixedObject(StackSlotSize, ArgOffset, true));
|
||||
SDValue FIN = DAG.getFrameIndex(FuncInfo->getVarArgsFrameIndex(), PtrVT);
|
||||
unsigned VReg = MF.addLiveIn(ArgRegs[ArgRegIdx], &SPU::R32CRegClass);
|
||||
SDValue ArgVal = DAG.getRegister(VReg, MVT::v16i8);
|
||||
|
@ -588,7 +588,7 @@ LowerCall(SDValue Chain, SDValue Callee, CallingConv::ID CallConv,
|
||||
// Create the frame index object for this incoming parameter
|
||||
LastArgStackLoc = (FirstStackArgLoc + VA.getLocMemOffset());
|
||||
int FI = MFI->CreateFixedObject(VA.getValVT().getSizeInBits()/8,
|
||||
LastArgStackLoc, true, false);
|
||||
LastArgStackLoc, true);
|
||||
|
||||
SDValue PtrOff = DAG.getFrameIndex(FI,getPointerTy());
|
||||
|
||||
@ -777,7 +777,7 @@ LowerFormalArguments(SDValue Chain, CallingConv::ID CallConv, bool isVarArg,
|
||||
// offset on PEI::calculateFrameObjectOffsets.
|
||||
// Arguments are always 32-bit.
|
||||
unsigned ArgSize = VA.getLocVT().getSizeInBits()/8;
|
||||
int FI = MFI->CreateFixedObject(ArgSize, 0, true, false);
|
||||
int FI = MFI->CreateFixedObject(ArgSize, 0, true);
|
||||
MBlazeFI->recordLoadArgsFI(FI, -(ArgSize+
|
||||
(FirstStackArgLoc + VA.getLocMemOffset())));
|
||||
|
||||
@ -808,7 +808,7 @@ LowerFormalArguments(SDValue Chain, CallingConv::ID CallConv, bool isVarArg,
|
||||
unsigned LiveReg = MF.addLiveIn(Reg, RC);
|
||||
SDValue ArgValue = DAG.getCopyFromReg(Chain, dl, LiveReg, MVT::i32);
|
||||
|
||||
int FI = MFI->CreateFixedObject(4, 0, true, false);
|
||||
int FI = MFI->CreateFixedObject(4, 0, true);
|
||||
MBlazeFI->recordStoreVarArgsFI(FI, -(4+(StackLoc*4)));
|
||||
SDValue PtrOff = DAG.getFrameIndex(FI, getPointerTy());
|
||||
OutChains.push_back(DAG.getStore(Chain, dl, ArgValue, PtrOff, NULL, 0,
|
||||
|
@ -369,7 +369,7 @@ MSP430TargetLowering::LowerCCCArguments(SDValue Chain,
|
||||
<< "\n";
|
||||
}
|
||||
// Create the frame index object for this incoming parameter...
|
||||
int FI = MFI->CreateFixedObject(ObjSize, VA.getLocMemOffset(), true, false);
|
||||
int FI = MFI->CreateFixedObject(ObjSize, VA.getLocMemOffset(), true);
|
||||
|
||||
// Create the SelectionDAG nodes corresponding to a load
|
||||
//from this parameter
|
||||
@ -888,7 +888,7 @@ MSP430TargetLowering::getReturnAddressFrameIndex(SelectionDAG &DAG) const {
|
||||
// Set up a frame object for the return address.
|
||||
uint64_t SlotSize = TD->getPointerSize();
|
||||
ReturnAddrIndex = MF.getFrameInfo()->CreateFixedObject(SlotSize, -SlotSize,
|
||||
true, false);
|
||||
true);
|
||||
FuncInfo->setRAIndex(ReturnAddrIndex);
|
||||
}
|
||||
|
||||
|
@ -229,7 +229,7 @@ MSP430RegisterInfo::processFunctionBeforeFrameFinalized(MachineFunction &MF)
|
||||
// Create a frame entry for the FPW register that must be saved.
|
||||
if (hasFP(MF)) {
|
||||
int ATTRIBUTE_UNUSED FrameIdx =
|
||||
MF.getFrameInfo()->CreateFixedObject(2, -4, true, false);
|
||||
MF.getFrameInfo()->CreateFixedObject(2, -4, true);
|
||||
assert(FrameIdx == MF.getFrameInfo()->getObjectIndexBegin() &&
|
||||
"Slot for FPW register must be last in order to be found!");
|
||||
}
|
||||
|
@ -787,7 +787,7 @@ MipsTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
// the stack (even if less than 4 are used as arguments)
|
||||
if (Subtarget->isABI_O32()) {
|
||||
int VTsize = EVT(MVT::i32).getSizeInBits()/8;
|
||||
MFI->CreateFixedObject(VTsize, (VTsize*3), true, false);
|
||||
MFI->CreateFixedObject(VTsize, (VTsize*3), true);
|
||||
CCInfo.AnalyzeCallOperands(Outs,
|
||||
isVarArg ? CC_MipsO32_VarArgs : CC_MipsO32);
|
||||
} else
|
||||
@ -857,7 +857,7 @@ MipsTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
// if O32 ABI is used. For EABI the first address is zero.
|
||||
LastArgStackLoc = (FirstStackArgLoc + VA.getLocMemOffset());
|
||||
int FI = MFI->CreateFixedObject(VA.getValVT().getSizeInBits()/8,
|
||||
LastArgStackLoc, true, false);
|
||||
LastArgStackLoc, true);
|
||||
|
||||
SDValue PtrOff = DAG.getFrameIndex(FI,getPointerTy());
|
||||
|
||||
@ -929,7 +929,7 @@ MipsTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
// Create the frame index only once. SPOffset here can be anything
|
||||
// (this will be fixed on processFunctionBeforeFrameFinalized)
|
||||
if (MipsFI->getGPStackOffset() == -1) {
|
||||
FI = MFI->CreateFixedObject(4, 0, true, false);
|
||||
FI = MFI->CreateFixedObject(4, 0, true);
|
||||
MipsFI->setGPFI(FI);
|
||||
}
|
||||
MipsFI->setGPStackOffset(LastArgStackLoc);
|
||||
@ -1098,7 +1098,7 @@ MipsTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
// offset on PEI::calculateFrameObjectOffsets.
|
||||
// Arguments are always 32-bit.
|
||||
unsigned ArgSize = VA.getLocVT().getSizeInBits()/8;
|
||||
int FI = MFI->CreateFixedObject(ArgSize, 0, true, false);
|
||||
int FI = MFI->CreateFixedObject(ArgSize, 0, true);
|
||||
MipsFI->recordLoadArgsFI(FI, -(ArgSize+
|
||||
(FirstStackArgLoc + VA.getLocMemOffset())));
|
||||
|
||||
@ -1137,7 +1137,7 @@ MipsTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
unsigned Reg = AddLiveIn(DAG.getMachineFunction(), ArgRegEnd, RC);
|
||||
SDValue ArgValue = DAG.getCopyFromReg(Chain, dl, Reg, MVT::i32);
|
||||
|
||||
int FI = MFI->CreateFixedObject(4, 0, true, false);
|
||||
int FI = MFI->CreateFixedObject(4, 0, true);
|
||||
MipsFI->recordStoreVarArgsFI(FI, -(4+(StackLoc*4)));
|
||||
SDValue PtrOff = DAG.getFrameIndex(FI, getPointerTy());
|
||||
OutChains.push_back(DAG.getStore(Chain, dl, ArgValue, PtrOff, NULL, 0,
|
||||
|
@ -1631,7 +1631,7 @@ PPCTargetLowering::LowerFormalArguments_SVR4(
|
||||
|
||||
unsigned ArgSize = VA.getLocVT().getSizeInBits() / 8;
|
||||
int FI = MFI->CreateFixedObject(ArgSize, VA.getLocMemOffset(),
|
||||
isImmutable, false);
|
||||
isImmutable);
|
||||
|
||||
// Create load nodes to retrieve arguments from the stack.
|
||||
SDValue FIN = DAG.getFrameIndex(FI, PtrVT);
|
||||
@ -1700,8 +1700,7 @@ PPCTargetLowering::LowerFormalArguments_SVR4(
|
||||
|
||||
FuncInfo->setVarArgsStackOffset(
|
||||
MFI->CreateFixedObject(PtrVT.getSizeInBits()/8,
|
||||
CCInfo.getNextStackOffset(),
|
||||
true, false));
|
||||
CCInfo.getNextStackOffset(), true));
|
||||
|
||||
FuncInfo->setVarArgsFrameIndex(MFI->CreateStackObject(Depth, 8, false));
|
||||
SDValue FIN = DAG.getFrameIndex(FuncInfo->getVarArgsFrameIndex(), PtrVT);
|
||||
@ -1911,7 +1910,7 @@ PPCTargetLowering::LowerFormalArguments_Darwin(
|
||||
CurArgOffset = CurArgOffset + (4 - ObjSize);
|
||||
}
|
||||
// The value of the object is its address.
|
||||
int FI = MFI->CreateFixedObject(ObjSize, CurArgOffset, true, false);
|
||||
int FI = MFI->CreateFixedObject(ObjSize, CurArgOffset, true);
|
||||
SDValue FIN = DAG.getFrameIndex(FI, PtrVT);
|
||||
InVals.push_back(FIN);
|
||||
if (ObjSize==1 || ObjSize==2) {
|
||||
@ -1936,7 +1935,7 @@ PPCTargetLowering::LowerFormalArguments_Darwin(
|
||||
// the object.
|
||||
if (GPR_idx != Num_GPR_Regs) {
|
||||
unsigned VReg = MF.addLiveIn(GPR[GPR_idx], &PPC::GPRCRegClass);
|
||||
int FI = MFI->CreateFixedObject(PtrByteSize, ArgOffset, true, false);
|
||||
int FI = MFI->CreateFixedObject(PtrByteSize, ArgOffset, true);
|
||||
SDValue FIN = DAG.getFrameIndex(FI, PtrVT);
|
||||
SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT);
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, NULL, 0,
|
||||
@ -2062,7 +2061,7 @@ PPCTargetLowering::LowerFormalArguments_Darwin(
|
||||
if (needsLoad) {
|
||||
int FI = MFI->CreateFixedObject(ObjSize,
|
||||
CurArgOffset + (ArgSize - ObjSize),
|
||||
isImmutable, false);
|
||||
isImmutable);
|
||||
SDValue FIN = DAG.getFrameIndex(FI, PtrVT);
|
||||
ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, NULL, 0,
|
||||
false, false, 0);
|
||||
@ -2097,7 +2096,7 @@ PPCTargetLowering::LowerFormalArguments_Darwin(
|
||||
|
||||
FuncInfo->setVarArgsFrameIndex(
|
||||
MFI->CreateFixedObject(PtrVT.getSizeInBits()/8,
|
||||
Depth, true, false));
|
||||
Depth, true));
|
||||
SDValue FIN = DAG.getFrameIndex(FuncInfo->getVarArgsFrameIndex(), PtrVT);
|
||||
|
||||
// If this function is vararg, store any remaining integer argument regs
|
||||
@ -2314,8 +2313,7 @@ static SDValue EmitTailCallStoreFPAndRetAddr(SelectionDAG &DAG,
|
||||
int NewRetAddrLoc = SPDiff + PPCFrameInfo::getReturnSaveOffset(isPPC64,
|
||||
isDarwinABI);
|
||||
int NewRetAddr = MF.getFrameInfo()->CreateFixedObject(SlotSize,
|
||||
NewRetAddrLoc,
|
||||
true, false);
|
||||
NewRetAddrLoc, true);
|
||||
EVT VT = isPPC64 ? MVT::i64 : MVT::i32;
|
||||
SDValue NewRetAddrFrIdx = DAG.getFrameIndex(NewRetAddr, VT);
|
||||
Chain = DAG.getStore(Chain, dl, OldRetAddr, NewRetAddrFrIdx,
|
||||
@ -2328,7 +2326,7 @@ static SDValue EmitTailCallStoreFPAndRetAddr(SelectionDAG &DAG,
|
||||
int NewFPLoc =
|
||||
SPDiff + PPCFrameInfo::getFramePointerSaveOffset(isPPC64, isDarwinABI);
|
||||
int NewFPIdx = MF.getFrameInfo()->CreateFixedObject(SlotSize, NewFPLoc,
|
||||
true, false);
|
||||
true);
|
||||
SDValue NewFramePtrIdx = DAG.getFrameIndex(NewFPIdx, VT);
|
||||
Chain = DAG.getStore(Chain, dl, OldFP, NewFramePtrIdx,
|
||||
PseudoSourceValue::getFixedStack(NewFPIdx), 0,
|
||||
@ -2346,7 +2344,7 @@ CalculateTailCallArgDest(SelectionDAG &DAG, MachineFunction &MF, bool isPPC64,
|
||||
SmallVector<TailCallArgumentInfo, 8>& TailCallArguments) {
|
||||
int Offset = ArgOffset + SPDiff;
|
||||
uint32_t OpSize = (Arg.getValueType().getSizeInBits()+7)/8;
|
||||
int FI = MF.getFrameInfo()->CreateFixedObject(OpSize, Offset, true,false);
|
||||
int FI = MF.getFrameInfo()->CreateFixedObject(OpSize, Offset, true);
|
||||
EVT VT = isPPC64 ? MVT::i64 : MVT::i32;
|
||||
SDValue FIN = DAG.getFrameIndex(FI, VT);
|
||||
TailCallArgumentInfo Info;
|
||||
@ -3375,8 +3373,7 @@ PPCTargetLowering::getReturnAddrFrameIndex(SelectionDAG & DAG) const {
|
||||
// Find out what the fix offset of the frame pointer save area.
|
||||
int LROffset = PPCFrameInfo::getReturnSaveOffset(isPPC64, isDarwinABI);
|
||||
// Allocate the frame index for frame pointer save area.
|
||||
RASI = MF.getFrameInfo()->CreateFixedObject(isPPC64? 8 : 4, LROffset,
|
||||
true, false);
|
||||
RASI = MF.getFrameInfo()->CreateFixedObject(isPPC64? 8 : 4, LROffset, true);
|
||||
// Save the result.
|
||||
FI->setReturnAddrSaveIndex(RASI);
|
||||
}
|
||||
@ -3402,8 +3399,7 @@ PPCTargetLowering::getFramePointerFrameIndex(SelectionDAG & DAG) const {
|
||||
isDarwinABI);
|
||||
|
||||
// Allocate the frame index for frame pointer save area.
|
||||
FPSI = MF.getFrameInfo()->CreateFixedObject(isPPC64? 8 : 4, FPOffset,
|
||||
true, false);
|
||||
FPSI = MF.getFrameInfo()->CreateFixedObject(isPPC64? 8 : 4, FPOffset, true);
|
||||
// Save the result.
|
||||
FI->setFramePointerSaveIndex(FPSI);
|
||||
}
|
||||
|
@ -926,8 +926,7 @@ PPCRegisterInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
|
||||
int FPOffset = PPCFrameInfo::getFramePointerSaveOffset(isPPC64,
|
||||
isDarwinABI);
|
||||
// Allocate the frame index for frame pointer save area.
|
||||
FPSI = MF.getFrameInfo()->CreateFixedObject(isPPC64? 8 : 4, FPOffset,
|
||||
true, false);
|
||||
FPSI = MF.getFrameInfo()->CreateFixedObject(isPPC64? 8 : 4, FPOffset, true);
|
||||
// Save the result.
|
||||
FI->setFramePointerSaveIndex(FPSI);
|
||||
}
|
||||
@ -935,8 +934,7 @@ PPCRegisterInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
|
||||
// Reserve stack space to move the linkage area to in case of a tail call.
|
||||
int TCSPDelta = 0;
|
||||
if (GuaranteedTailCallOpt && (TCSPDelta = FI->getTailCallSPDelta()) < 0) {
|
||||
MF.getFrameInfo()->CreateFixedObject(-1 * TCSPDelta, TCSPDelta,
|
||||
true, false);
|
||||
MF.getFrameInfo()->CreateFixedObject(-1 * TCSPDelta, TCSPDelta, true);
|
||||
}
|
||||
|
||||
// Reserve a slot closest to SP or frame pointer if we have a dynalloc or
|
||||
|
@ -133,7 +133,7 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
InVals.push_back(Arg);
|
||||
} else {
|
||||
int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset,
|
||||
true, false);
|
||||
true);
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
SDValue Load;
|
||||
if (ObjectVT == MVT::i32) {
|
||||
@ -169,7 +169,7 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
InVals.push_back(Arg);
|
||||
} else {
|
||||
int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset,
|
||||
true, false);
|
||||
true);
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
SDValue Load = DAG.getLoad(MVT::f32, dl, Chain, FIPtr, NULL, 0,
|
||||
false, false, 0);
|
||||
@ -192,7 +192,7 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
HiVal = DAG.getCopyFromReg(Chain, dl, VRegHi, MVT::i32);
|
||||
} else {
|
||||
int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset,
|
||||
true, false);
|
||||
true);
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
HiVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, NULL, 0,
|
||||
false, false, 0);
|
||||
@ -205,7 +205,7 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
LoVal = DAG.getCopyFromReg(Chain, dl, VRegLo, MVT::i32);
|
||||
} else {
|
||||
int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset+4,
|
||||
true, false);
|
||||
true);
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
LoVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, NULL, 0,
|
||||
false, false, 0);
|
||||
@ -239,7 +239,7 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
SDValue Arg = DAG.getCopyFromReg(DAG.getRoot(), dl, VReg, MVT::i32);
|
||||
|
||||
int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset,
|
||||
true, false);
|
||||
true);
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
|
||||
OutChains.push_back(DAG.getStore(DAG.getRoot(), dl, Arg, FIPtr, NULL, 0,
|
||||
|
@ -334,7 +334,7 @@ SystemZTargetLowering::LowerCCCArguments(SDValue Chain,
|
||||
// Create the nodes corresponding to a load from this parameter slot.
|
||||
// Create the frame index object for this incoming parameter...
|
||||
int FI = MFI->CreateFixedObject(LocVT.getSizeInBits()/8,
|
||||
VA.getLocMemOffset(), true, false);
|
||||
VA.getLocMemOffset(), true);
|
||||
|
||||
// Create the SelectionDAG nodes corresponding to a load
|
||||
// from this parameter
|
||||
|
@ -1485,11 +1485,11 @@ X86TargetLowering::LowerMemArgument(SDValue Chain,
|
||||
// could be overwritten by lowering of arguments in case of a tail call.
|
||||
if (Flags.isByVal()) {
|
||||
int FI = MFI->CreateFixedObject(Flags.getByValSize(),
|
||||
VA.getLocMemOffset(), isImmutable, false);
|
||||
VA.getLocMemOffset(), isImmutable);
|
||||
return DAG.getFrameIndex(FI, getPointerTy());
|
||||
} else {
|
||||
int FI = MFI->CreateFixedObject(ValVT.getSizeInBits()/8,
|
||||
VA.getLocMemOffset(), isImmutable, false);
|
||||
VA.getLocMemOffset(), isImmutable);
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
return DAG.getLoad(ValVT, dl, Chain, FIN,
|
||||
PseudoSourceValue::getFixedStack(FI), 0,
|
||||
@ -1617,8 +1617,7 @@ X86TargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
if (isVarArg) {
|
||||
if (Is64Bit || (CallConv != CallingConv::X86_FastCall &&
|
||||
CallConv != CallingConv::X86_ThisCall)) {
|
||||
FuncInfo->setVarArgsFrameIndex(MFI->CreateFixedObject(1, StackSize,
|
||||
true, false));
|
||||
FuncInfo->setVarArgsFrameIndex(MFI->CreateFixedObject(1, StackSize,true));
|
||||
}
|
||||
if (Is64Bit) {
|
||||
unsigned TotalNumIntRegs = 0, TotalNumXMMRegs = 0;
|
||||
@ -1790,7 +1789,7 @@ EmitTailCallStoreRetAddr(SelectionDAG & DAG, MachineFunction &MF,
|
||||
// Calculate the new stack slot for the return address.
|
||||
int SlotSize = Is64Bit ? 8 : 4;
|
||||
int NewReturnAddrFI =
|
||||
MF.getFrameInfo()->CreateFixedObject(SlotSize, FPDiff-SlotSize, false, false);
|
||||
MF.getFrameInfo()->CreateFixedObject(SlotSize, FPDiff-SlotSize, false);
|
||||
EVT VT = Is64Bit ? MVT::i64 : MVT::i32;
|
||||
SDValue NewRetAddrFrIdx = DAG.getFrameIndex(NewReturnAddrFI, VT);
|
||||
Chain = DAG.getStore(Chain, dl, RetAddrFrIdx, NewRetAddrFrIdx,
|
||||
@ -2020,7 +2019,7 @@ X86TargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
// Create frame index.
|
||||
int32_t Offset = VA.getLocMemOffset()+FPDiff;
|
||||
uint32_t OpSize = (VA.getLocVT().getSizeInBits()+7)/8;
|
||||
FI = MF.getFrameInfo()->CreateFixedObject(OpSize, Offset, true, false);
|
||||
FI = MF.getFrameInfo()->CreateFixedObject(OpSize, Offset, true);
|
||||
FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
|
||||
if (Flags.isByVal()) {
|
||||
@ -2487,7 +2486,7 @@ SDValue X86TargetLowering::getReturnAddressFrameIndex(SelectionDAG &DAG) const {
|
||||
// Set up a frame object for the return address.
|
||||
uint64_t SlotSize = TD->getPointerSize();
|
||||
ReturnAddrIndex = MF.getFrameInfo()->CreateFixedObject(SlotSize, -SlotSize,
|
||||
false, false);
|
||||
false);
|
||||
FuncInfo->setRAIndex(ReturnAddrIndex);
|
||||
}
|
||||
|
||||
|
@ -674,8 +674,7 @@ X86RegisterInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
|
||||
// }
|
||||
// [EBP]
|
||||
MFI->CreateFixedObject(-TailCallReturnAddrDelta,
|
||||
(-1U*SlotSize)+TailCallReturnAddrDelta,
|
||||
true, false);
|
||||
(-1U*SlotSize)+TailCallReturnAddrDelta, true);
|
||||
}
|
||||
|
||||
if (hasFP(MF)) {
|
||||
@ -688,7 +687,7 @@ X86RegisterInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
|
||||
-(int)SlotSize +
|
||||
TFI.getOffsetOfLocalArea() +
|
||||
TailCallReturnAddrDelta,
|
||||
true, false);
|
||||
true);
|
||||
assert(FrameIdx == MFI->getObjectIndexBegin() &&
|
||||
"Slot for EBP register must be last in order to be found!");
|
||||
FrameIdx = 0;
|
||||
|
@ -1072,7 +1072,7 @@ XCoreTargetLowering::LowerCCCArguments(SDValue Chain,
|
||||
// Create the frame index object for this incoming parameter...
|
||||
int FI = MFI->CreateFixedObject(ObjSize,
|
||||
LRSaveSize + VA.getLocMemOffset(),
|
||||
true, false);
|
||||
true);
|
||||
|
||||
// Create the SelectionDAG nodes corresponding to a load
|
||||
//from this parameter
|
||||
@ -1097,7 +1097,7 @@ XCoreTargetLowering::LowerCCCArguments(SDValue Chain,
|
||||
// address
|
||||
for (unsigned i = array_lengthof(ArgRegs) - 1; i >= FirstVAReg; --i) {
|
||||
// Create a stack slot
|
||||
int FI = MFI->CreateFixedObject(4, offset, true, false);
|
||||
int FI = MFI->CreateFixedObject(4, offset, true);
|
||||
if (i == FirstVAReg) {
|
||||
XFI->setVarArgsFrameIndex(FI);
|
||||
}
|
||||
@ -1120,7 +1120,7 @@ XCoreTargetLowering::LowerCCCArguments(SDValue Chain,
|
||||
// This will point to the next argument passed via stack.
|
||||
XFI->setVarArgsFrameIndex(
|
||||
MFI->CreateFixedObject(4, LRSaveSize + CCInfo.getNextStackOffset(),
|
||||
true, false));
|
||||
true));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -308,7 +308,7 @@ XCoreRegisterInfo::processFunctionBeforeCalleeSavedScan(MachineFunction &MF,
|
||||
int FrameIdx;
|
||||
if (! isVarArg) {
|
||||
// A fixed offset of 0 allows us to save / restore LR using entsp / retsp.
|
||||
FrameIdx = MFI->CreateFixedObject(RC->getSize(), 0, true, false);
|
||||
FrameIdx = MFI->CreateFixedObject(RC->getSize(), 0, true);
|
||||
} else {
|
||||
FrameIdx = MFI->CreateStackObject(RC->getSize(), RC->getAlignment(),
|
||||
false);
|
||||
|
Loading…
x
Reference in New Issue
Block a user