mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
update a bunch of code to use the MachinePointerInfo version of getStore.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114461 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c004eec71b
commit
6229d0acb8
@ -5741,7 +5741,7 @@ ShrinkLoadReplaceStoreWithStore(const std::pair<unsigned, unsigned> &MaskInfo,
|
||||
|
||||
++OpsNarrowed;
|
||||
return DAG.getStore(St->getChain(), St->getDebugLoc(), IVal, Ptr,
|
||||
St->getSrcValue(), St->getSrcValueOffset()+StOffset,
|
||||
St->getPointerInfo().getWithOffset(StOffset),
|
||||
false, false, NewAlign).getNode();
|
||||
}
|
||||
|
||||
@ -5887,8 +5887,7 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) {
|
||||
((!LegalOperations && !ST->isVolatile()) ||
|
||||
TLI.isOperationLegalOrCustom(ISD::STORE, SVT)))
|
||||
return DAG.getStore(Chain, N->getDebugLoc(), Value.getOperand(0),
|
||||
Ptr, ST->getSrcValue(),
|
||||
ST->getSrcValueOffset(), ST->isVolatile(),
|
||||
Ptr, ST->getPointerInfo(), ST->isVolatile(),
|
||||
ST->isNonTemporal(), OrigAlign);
|
||||
}
|
||||
|
||||
@ -5912,8 +5911,7 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) {
|
||||
Tmp = DAG.getConstant((uint32_t)CFP->getValueAPF().
|
||||
bitcastToAPInt().getZExtValue(), MVT::i32);
|
||||
return DAG.getStore(Chain, N->getDebugLoc(), Tmp,
|
||||
Ptr, ST->getSrcValue(),
|
||||
ST->getSrcValueOffset(), ST->isVolatile(),
|
||||
Ptr, ST->getPointerInfo(), ST->isVolatile(),
|
||||
ST->isNonTemporal(), ST->getAlignment());
|
||||
}
|
||||
break;
|
||||
@ -5924,8 +5922,7 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) {
|
||||
Tmp = DAG.getConstant(CFP->getValueAPF().bitcastToAPInt().
|
||||
getZExtValue(), MVT::i64);
|
||||
return DAG.getStore(Chain, N->getDebugLoc(), Tmp,
|
||||
Ptr, ST->getSrcValue(),
|
||||
ST->getSrcValueOffset(), ST->isVolatile(),
|
||||
Ptr, ST->getPointerInfo(), ST->isVolatile(),
|
||||
ST->isNonTemporal(), ST->getAlignment());
|
||||
} else if (!ST->isVolatile() &&
|
||||
TLI.isOperationLegalOrCustom(ISD::STORE, MVT::i32)) {
|
||||
@ -5937,23 +5934,20 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) {
|
||||
SDValue Hi = DAG.getConstant(Val >> 32, MVT::i32);
|
||||
if (TLI.isBigEndian()) std::swap(Lo, Hi);
|
||||
|
||||
int SVOffset = ST->getSrcValueOffset();
|
||||
unsigned Alignment = ST->getAlignment();
|
||||
bool isVolatile = ST->isVolatile();
|
||||
bool isNonTemporal = ST->isNonTemporal();
|
||||
|
||||
SDValue St0 = DAG.getStore(Chain, ST->getDebugLoc(), Lo,
|
||||
Ptr, ST->getSrcValue(),
|
||||
ST->getSrcValueOffset(),
|
||||
Ptr, ST->getPointerInfo(),
|
||||
isVolatile, isNonTemporal,
|
||||
ST->getAlignment());
|
||||
Ptr = DAG.getNode(ISD::ADD, N->getDebugLoc(), Ptr.getValueType(), Ptr,
|
||||
DAG.getConstant(4, Ptr.getValueType()));
|
||||
SVOffset += 4;
|
||||
Alignment = MinAlign(Alignment, 4U);
|
||||
SDValue St1 = DAG.getStore(Chain, ST->getDebugLoc(), Hi,
|
||||
Ptr, ST->getSrcValue(),
|
||||
SVOffset, isVolatile, isNonTemporal,
|
||||
Ptr, ST->getPointerInfo().getWithOffset(4),
|
||||
isVolatile, isNonTemporal,
|
||||
Alignment);
|
||||
return DAG.getNode(ISD::TokenFactor, N->getDebugLoc(), MVT::Other,
|
||||
St0, St1);
|
||||
@ -5990,7 +5984,7 @@ SDValue DAGCombiner::visitSTORE(SDNode *N) {
|
||||
ST->isNonTemporal(), ST->getAlignment());
|
||||
} else {
|
||||
ReplStore = DAG.getStore(BetterChain, N->getDebugLoc(), Value, Ptr,
|
||||
ST->getSrcValue(), ST->getSrcValueOffset(),
|
||||
ST->getPointerInfo(),
|
||||
ST->isVolatile(), ST->isNonTemporal(),
|
||||
ST->getAlignment());
|
||||
}
|
||||
|
@ -547,7 +547,7 @@ SDValue ExpandUnalignedLoad(LoadSDNode *LD, SelectionDAG &DAG,
|
||||
MinAlign(LD->getAlignment(), Offset));
|
||||
// Follow the load with a store to the stack slot. Remember the store.
|
||||
Stores.push_back(DAG.getStore(Load.getValue(1), dl, Load, StackPtr,
|
||||
NULL, 0, false, false, 0));
|
||||
MachinePointerInfo(), false, false, 0));
|
||||
// Increment the pointers.
|
||||
Offset += RegBytes;
|
||||
Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr, Increment);
|
||||
@ -1541,8 +1541,8 @@ SDValue SelectionDAGLegalize::ExpandExtractFromVectorThroughStack(SDValue Op) {
|
||||
DebugLoc dl = Op.getDebugLoc();
|
||||
// Store the value to a temporary stack slot, then LOAD the returned part.
|
||||
SDValue StackPtr = DAG.CreateStackTemporary(Vec.getValueType());
|
||||
SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Ch = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
|
||||
// Add the offset to the index.
|
||||
unsigned EltSize =
|
||||
@ -1636,7 +1636,7 @@ SDValue SelectionDAGLegalize::ExpandFCOPYSIGN(SDNode* Node) {
|
||||
SDValue StackPtr = DAG.CreateStackTemporary(FloatVT, LoadTy);
|
||||
// Then store the float to it.
|
||||
SDValue Ch =
|
||||
DAG.getStore(DAG.getEntryNode(), dl, Tmp2, StackPtr, NULL, 0,
|
||||
DAG.getStore(DAG.getEntryNode(), dl, Tmp2, StackPtr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
if (TLI.isBigEndian()) {
|
||||
assert(FloatVT.isByteSized() && "Unsupported floating point type!");
|
||||
@ -2066,13 +2066,14 @@ SDValue SelectionDAGLegalize::ExpandLegalINT_TO_FP(bool isSigned,
|
||||
}
|
||||
// store the lo of the constructed double - based on integer input
|
||||
SDValue Store1 = DAG.getStore(DAG.getEntryNode(), dl,
|
||||
Op0Mapped, Lo, NULL, 0,
|
||||
Op0Mapped, Lo, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
// initial hi portion of constructed double
|
||||
SDValue InitialHi = DAG.getConstant(0x43300000u, MVT::i32);
|
||||
// store the hi of the constructed double - biased exponent
|
||||
SDValue Store2=DAG.getStore(Store1, dl, InitialHi, Hi, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Store2 = DAG.getStore(Store1, dl, InitialHi, Hi,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
// load the constructed double
|
||||
SDValue Load = DAG.getLoad(MVT::f64, dl, Store2, StackSlot,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
@ -2686,8 +2687,8 @@ void SelectionDAGLegalize::ExpandNode(SDNode *Node,
|
||||
getTypeAllocSize(VT.getTypeForEVT(*DAG.getContext())),
|
||||
TLI.getPointerTy()));
|
||||
// Store the incremented VAList to the legalized pointer
|
||||
Tmp3 = DAG.getStore(VAListLoad.getValue(1), dl, Tmp3, Tmp2, V, 0,
|
||||
false, false, 0);
|
||||
Tmp3 = DAG.getStore(VAListLoad.getValue(1), dl, Tmp3, Tmp2,
|
||||
MachinePointerInfo(V), false, false, 0);
|
||||
// Load the actual argument out of the pointer VAList
|
||||
Results.push_back(DAG.getLoad(VT, dl, Tmp3, VAList, MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
|
@ -779,7 +779,7 @@ SDValue DAGTypeLegalizer::SoftenFloatOp_STORE(SDNode *N, unsigned OpNo) {
|
||||
Val = GetSoftenedFloat(Val);
|
||||
|
||||
return DAG.getStore(ST->getChain(), dl, Val, ST->getBasePtr(),
|
||||
ST->getSrcValue(), ST->getSrcValueOffset(),
|
||||
ST->getPointerInfo(),
|
||||
ST->isVolatile(), ST->isNonTemporal(),
|
||||
ST->getAlignment());
|
||||
}
|
||||
|
@ -390,7 +390,6 @@ SDValue DAGTypeLegalizer::ExpandOp_NormalStore(SDNode *N, unsigned OpNo) {
|
||||
St->getValue().getValueType());
|
||||
SDValue Chain = St->getChain();
|
||||
SDValue Ptr = St->getBasePtr();
|
||||
int SVOffset = St->getSrcValueOffset();
|
||||
unsigned Alignment = St->getAlignment();
|
||||
bool isVolatile = St->isVolatile();
|
||||
bool isNonTemporal = St->isNonTemporal();
|
||||
@ -404,14 +403,14 @@ SDValue DAGTypeLegalizer::ExpandOp_NormalStore(SDNode *N, unsigned OpNo) {
|
||||
if (TLI.isBigEndian())
|
||||
std::swap(Lo, Hi);
|
||||
|
||||
Lo = DAG.getStore(Chain, dl, Lo, Ptr, St->getSrcValue(), SVOffset,
|
||||
Lo = DAG.getStore(Chain, dl, Lo, Ptr, St->getPointerInfo(),
|
||||
isVolatile, isNonTemporal, Alignment);
|
||||
|
||||
Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
|
||||
DAG.getIntPtrConstant(IncrementSize));
|
||||
assert(isTypeLegal(Ptr.getValueType()) && "Pointers must be legal!");
|
||||
Hi = DAG.getStore(Chain, dl, Hi, Ptr, St->getSrcValue(),
|
||||
SVOffset + IncrementSize,
|
||||
Hi = DAG.getStore(Chain, dl, Hi, Ptr,
|
||||
St->getPointerInfo().getWithOffset(IncrementSize),
|
||||
isVolatile, isNonTemporal,
|
||||
MinAlign(Alignment, IncrementSize));
|
||||
|
||||
|
@ -1097,16 +1097,13 @@ SDValue DAGTypeLegalizer::SplitVecOp_EXTRACT_VECTOR_ELT(SDNode *N) {
|
||||
EVT EltVT = VecVT.getVectorElementType();
|
||||
DebugLoc dl = N->getDebugLoc();
|
||||
SDValue StackPtr = DAG.CreateStackTemporary(VecVT);
|
||||
int SPFI = cast<FrameIndexSDNode>(StackPtr.getNode())->getIndex();
|
||||
const Value *SV = PseudoSourceValue::getFixedStack(SPFI);
|
||||
SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr, SV, 0,
|
||||
false, false, 0);
|
||||
SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, Vec, StackPtr,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
|
||||
// Load back the required element.
|
||||
StackPtr = GetVectorElementPointer(StackPtr, EltVT, Idx);
|
||||
return DAG.getExtLoad(ISD::EXTLOAD, N->getValueType(0), dl, Store, StackPtr,
|
||||
MachinePointerInfo::getFixedStack(SPFI),
|
||||
EltVT, false, false, 0);
|
||||
MachinePointerInfo(), EltVT, false, false, 0);
|
||||
}
|
||||
|
||||
SDValue DAGTypeLegalizer::SplitVecOp_STORE(StoreSDNode *N, unsigned OpNo) {
|
||||
|
@ -284,8 +284,7 @@ AlphaTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
DAG.getIntPtrConstant(VA.getLocMemOffset()));
|
||||
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
|
||||
PseudoSourceValue::getStack(), 0,
|
||||
false, false, 0));
|
||||
MachinePointerInfo(),false, false, 0));
|
||||
}
|
||||
}
|
||||
|
||||
@ -448,7 +447,7 @@ AlphaTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
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,
|
||||
LS.push_back(DAG.getStore(Chain, dl, argt, SDFI, MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
|
||||
if (TargetRegisterInfo::isPhysicalRegister(args_float[i]))
|
||||
@ -456,7 +455,7 @@ AlphaTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
argt = DAG.getCopyFromReg(Chain, dl, args_float[i], MVT::f64);
|
||||
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,
|
||||
LS.push_back(DAG.getStore(Chain, dl, argt, SDFI, MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
}
|
||||
|
||||
@ -727,7 +726,8 @@ SDValue AlphaTargetLowering::LowerOperation(SDValue Op,
|
||||
SDValue Val = DAG.getLoad(getPointerTy(), dl, Chain, SrcP,
|
||||
MachinePointerInfo(SrcS),
|
||||
false, false, 0);
|
||||
SDValue Result = DAG.getStore(Val.getValue(1), dl, Val, DestP, DestS, 0,
|
||||
SDValue Result = DAG.getStore(Val.getValue(1), dl, Val, DestP,
|
||||
MachinePointerInfo(DestS),
|
||||
false, false, 0);
|
||||
SDValue NP = DAG.getNode(ISD::ADD, dl, MVT::i64, SrcP,
|
||||
DAG.getConstant(8, MVT::i64));
|
||||
@ -749,8 +749,8 @@ SDValue AlphaTargetLowering::LowerOperation(SDValue Op,
|
||||
|
||||
// vastart stores the address of the VarArgsBase and VarArgsOffset
|
||||
SDValue FR = DAG.getFrameIndex(FuncInfo->getVarArgsBase(), MVT::i64);
|
||||
SDValue S1 = DAG.getStore(Chain, dl, FR, VAListP, VAListS, 0,
|
||||
false, false, 0);
|
||||
SDValue S1 = DAG.getStore(Chain, dl, FR, VAListP,
|
||||
MachinePointerInfo(VAListS), false, false, 0);
|
||||
SDValue SA2 = DAG.getNode(ISD::ADD, dl, MVT::i64, VAListP,
|
||||
DAG.getConstant(8, MVT::i64));
|
||||
return DAG.getTruncStore(S1, dl,
|
||||
|
@ -333,8 +333,7 @@ BlackfinTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
SDValue OffsetN = DAG.getIntPtrConstant(Offset);
|
||||
OffsetN = DAG.getNode(ISD::ADD, dl, MVT::i32, SPN, OffsetN);
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, OffsetN,
|
||||
PseudoSourceValue::getStack(),
|
||||
Offset, false, false, 0));
|
||||
MachinePointerInfo(),false, false, 0));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -853,7 +853,7 @@ LowerSTORE(SDValue Op, SelectionDAG &DAG, const SPUSubtarget *ST) {
|
||||
MVT::v4i32, insertEltOp));
|
||||
|
||||
result = DAG.getStore(the_chain, dl, result, basePtr,
|
||||
LN->getSrcValue(), LN->getSrcValueOffset(),
|
||||
LN->getPointerInfo(),
|
||||
LN->isVolatile(), LN->isNonTemporal(),
|
||||
LN->getAlignment());
|
||||
|
||||
@ -1120,7 +1120,7 @@ SPUTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
SDValue FIN = DAG.getFrameIndex(FuncInfo->getVarArgsFrameIndex(), PtrVT);
|
||||
unsigned VReg = MF.addLiveIn(ArgRegs[ArgRegIdx], &SPU::R32CRegClass);
|
||||
SDValue ArgVal = DAG.getRegister(VReg, MVT::v16i8);
|
||||
SDValue Store = DAG.getStore(Chain, dl, ArgVal, FIN, NULL, 0,
|
||||
SDValue Store = DAG.getStore(Chain, dl, ArgVal, FIN, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
Chain = Store.getOperand(0);
|
||||
MemOps.push_back(Store);
|
||||
@ -1220,7 +1220,8 @@ SPUTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
if (ArgRegIdx != NumArgRegs) {
|
||||
RegsToPass.push_back(std::make_pair(VA.getLocReg(), Arg));
|
||||
} else {
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, NULL, 0,
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
ArgOffset += StackSlotSize;
|
||||
}
|
||||
|
@ -507,8 +507,7 @@ MSP430TargetLowering::LowerCCCCallTo(SDValue Chain, SDValue Callee,
|
||||
|
||||
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
|
||||
PseudoSourceValue::getStack(),
|
||||
VA.getLocMemOffset(), false, false, 0));
|
||||
MachinePointerInfo(),false, false, 0));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -644,13 +644,13 @@ SDValue PIC16TargetLowering::ExpandStore(SDNode *N, SelectionDAG &DAG) const {
|
||||
ChainLo = Chain.getOperand(0);
|
||||
ChainHi = Chain.getOperand(1);
|
||||
}
|
||||
SDValue Store1 = DAG.getStore(ChainLo, dl, SrcLo, Ptr, NULL,
|
||||
0 + StoreOffset, false, false, 0);
|
||||
SDValue Store1 = DAG.getStore(ChainLo, dl, SrcLo, Ptr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
|
||||
Ptr = DAG.getNode(ISD::ADD, dl, Ptr.getValueType(), Ptr,
|
||||
DAG.getConstant(4, Ptr.getValueType()));
|
||||
SDValue Store2 = DAG.getStore(ChainHi, dl, SrcHi, Ptr, NULL,
|
||||
1 + StoreOffset, false, false, 0);
|
||||
SDValue Store2 = DAG.getStore(ChainHi, dl, SrcHi, Ptr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
|
||||
return DAG.getNode(ISD::TokenFactor, dl, MVT::Other, Store1,
|
||||
Store2);
|
||||
|
@ -1353,7 +1353,8 @@ SDValue PPCTargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG,
|
||||
EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy();
|
||||
SDValue FR = DAG.getFrameIndex(FuncInfo->getVarArgsFrameIndex(), PtrVT);
|
||||
const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
|
||||
return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1), SV, 0,
|
||||
return DAG.getStore(Op.getOperand(0), dl, FR, Op.getOperand(1),
|
||||
MachinePointerInfo(SV),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -1423,13 +1424,15 @@ SDValue PPCTargetLowering::LowerVASTART(SDValue Op, SelectionDAG &DAG,
|
||||
|
||||
// Store second word : arguments given on stack
|
||||
SDValue thirdStore =
|
||||
DAG.getStore(secondStore, dl, StackOffsetFI, nextPtr, SV, nextOffset,
|
||||
DAG.getStore(secondStore, dl, StackOffsetFI, nextPtr,
|
||||
MachinePointerInfo(SV, nextOffset),
|
||||
false, false, 0);
|
||||
nextOffset += FrameOffset;
|
||||
nextPtr = DAG.getNode(ISD::ADD, dl, PtrVT, nextPtr, ConstFrameOffset);
|
||||
|
||||
// Store third word : arguments given in registers
|
||||
return DAG.getStore(thirdStore, dl, FR, nextPtr, SV, nextOffset,
|
||||
return DAG.getStore(thirdStore, dl, FR, nextPtr,
|
||||
MachinePointerInfo(SV, nextOffset),
|
||||
false, false, 0);
|
||||
|
||||
}
|
||||
@ -1713,7 +1716,7 @@ PPCTargetLowering::LowerFormalArguments_SVR4(
|
||||
unsigned GPRIndex = 0;
|
||||
for (; GPRIndex != FuncInfo->getVarArgsNumGPR(); ++GPRIndex) {
|
||||
SDValue Val = DAG.getRegister(GPArgRegs[GPRIndex], PtrVT);
|
||||
SDValue Store = DAG.getStore(Chain, dl, Val, FIN, NULL, 0,
|
||||
SDValue Store = DAG.getStore(Chain, dl, Val, FIN, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
MemOps.push_back(Store);
|
||||
// Increment the address by four for the next argument to store
|
||||
@ -1728,8 +1731,8 @@ PPCTargetLowering::LowerFormalArguments_SVR4(
|
||||
unsigned VReg = MF.addLiveIn(GPArgRegs[GPRIndex], &PPC::GPRCRegClass);
|
||||
|
||||
SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT);
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
MemOps.push_back(Store);
|
||||
// Increment the address by four for the next argument to store
|
||||
SDValue PtrOff = DAG.getConstant(PtrVT.getSizeInBits()/8, PtrVT);
|
||||
@ -1744,7 +1747,7 @@ PPCTargetLowering::LowerFormalArguments_SVR4(
|
||||
unsigned FPRIndex = 0;
|
||||
for (FPRIndex = 0; FPRIndex != FuncInfo->getVarArgsNumFPR(); ++FPRIndex) {
|
||||
SDValue Val = DAG.getRegister(FPArgRegs[FPRIndex], MVT::f64);
|
||||
SDValue Store = DAG.getStore(Chain, dl, Val, FIN, NULL, 0,
|
||||
SDValue Store = DAG.getStore(Chain, dl, Val, FIN, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
MemOps.push_back(Store);
|
||||
// Increment the address by eight for the next argument to store
|
||||
@ -1757,8 +1760,8 @@ PPCTargetLowering::LowerFormalArguments_SVR4(
|
||||
unsigned VReg = MF.addLiveIn(FPArgRegs[FPRIndex], &PPC::F8RCRegClass);
|
||||
|
||||
SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, MVT::f64);
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
MemOps.push_back(Store);
|
||||
// Increment the address by eight for the next argument to store
|
||||
SDValue PtrOff = DAG.getConstant(EVT(MVT::f64).getSizeInBits()/8,
|
||||
@ -1941,7 +1944,8 @@ PPCTargetLowering::LowerFormalArguments_Darwin(
|
||||
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,
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
MemOps.push_back(Store);
|
||||
++GPR_idx;
|
||||
@ -2114,8 +2118,8 @@ PPCTargetLowering::LowerFormalArguments_Darwin(
|
||||
VReg = MF.addLiveIn(GPR[GPR_idx], &PPC::GPRCRegClass);
|
||||
|
||||
SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, PtrVT);
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
MemOps.push_back(Store);
|
||||
// Increment the address by four for the next argument to store
|
||||
SDValue PtrOff = DAG.getConstant(PtrVT.getSizeInBits()/8, PtrVT);
|
||||
@ -2411,7 +2415,7 @@ LowerMemOpCallTo(SelectionDAG &DAG, MachineFunction &MF, SDValue Chain,
|
||||
SDValue Arg, SDValue PtrOff, int SPDiff,
|
||||
unsigned ArgOffset, bool isPPC64, bool isTailCall,
|
||||
bool isVector, SmallVector<SDValue, 8> &MemOpChains,
|
||||
SmallVector<TailCallArgumentInfo, 8>& TailCallArguments,
|
||||
SmallVector<TailCallArgumentInfo, 8> &TailCallArguments,
|
||||
DebugLoc dl) {
|
||||
EVT PtrVT = DAG.getTargetLoweringInfo().getPointerTy();
|
||||
if (!isTailCall) {
|
||||
@ -2424,8 +2428,8 @@ LowerMemOpCallTo(SelectionDAG &DAG, MachineFunction &MF, SDValue Chain,
|
||||
PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr,
|
||||
DAG.getConstant(ArgOffset, PtrVT));
|
||||
}
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff, NULL, 0,
|
||||
false, false, 0));
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
|
||||
MachinePointerInfo(), false, false, 0));
|
||||
// Calculate and remember argument location.
|
||||
} else CalculateTailCallArgDest(DAG, MF, isPPC64, Arg, SPDiff, ArgOffset,
|
||||
TailCallArguments);
|
||||
@ -2907,7 +2911,7 @@ PPCTargetLowering::LowerCall_SVR4(SDValue Chain, SDValue Callee,
|
||||
PtrOff = DAG.getNode(ISD::ADD, dl, getPointerTy(), StackPtr, PtrOff);
|
||||
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
|
||||
PseudoSourceValue::getStack(), LocMemOffset,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
} else {
|
||||
// Calculate and remember argument location.
|
||||
@ -3142,8 +3146,8 @@ PPCTargetLowering::LowerCall_Darwin(SDValue Chain, SDValue Callee,
|
||||
RegsToPass.push_back(std::make_pair(FPR[FPR_idx++], Arg));
|
||||
|
||||
if (isVarArg) {
|
||||
SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
MemOpChains.push_back(Store);
|
||||
|
||||
// Float varargs are always shadowed in available integer registers
|
||||
@ -3201,8 +3205,8 @@ PPCTargetLowering::LowerCall_Darwin(SDValue Chain, SDValue Callee,
|
||||
// entirely in R registers. Maybe later.
|
||||
PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr,
|
||||
DAG.getConstant(ArgOffset, PtrVT));
|
||||
SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Store = DAG.getStore(Chain, dl, Arg, PtrOff,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
MemOpChains.push_back(Store);
|
||||
if (VR_idx != NumVRs) {
|
||||
SDValue Load = DAG.getLoad(MVT::v4f32, dl, Store, PtrOff,
|
||||
@ -3283,7 +3287,7 @@ PPCTargetLowering::LowerCall_Darwin(SDValue Chain, SDValue Callee,
|
||||
// TOC save area offset.
|
||||
SDValue PtrOff = DAG.getIntPtrConstant(40);
|
||||
SDValue AddPtr = DAG.getNode(ISD::ADD, dl, PtrVT, StackPtr, PtrOff);
|
||||
Chain = DAG.getStore(Val.getValue(1), dl, Val, AddPtr, NULL, 0,
|
||||
Chain = DAG.getStore(Val.getValue(1), dl, Val, AddPtr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -3378,7 +3382,7 @@ SDValue PPCTargetLowering::LowerSTACKRESTORE(SDValue Op, SelectionDAG &DAG,
|
||||
Chain = DAG.getCopyToReg(LoadLinkSP.getValue(1), dl, SP, SaveSP);
|
||||
|
||||
// Store the old link SP.
|
||||
return DAG.getStore(Chain, dl, LoadLinkSP, StackPtr, NULL, 0,
|
||||
return DAG.getStore(Chain, dl, LoadLinkSP, StackPtr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -3554,8 +3558,8 @@ SDValue PPCTargetLowering::LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG,
|
||||
SDValue FIPtr = DAG.CreateStackTemporary(MVT::f64);
|
||||
|
||||
// Emit a store to the stack slot.
|
||||
SDValue Chain = DAG.getStore(DAG.getEntryNode(), dl, Tmp, FIPtr, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Chain = DAG.getStore(DAG.getEntryNode(), dl, Tmp, FIPtr,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
|
||||
// Result is a load from the stack slot. If loading 4 bytes, make sure to
|
||||
// add in a bias.
|
||||
@ -3654,7 +3658,7 @@ SDValue PPCTargetLowering::LowerFLT_ROUNDS_(SDValue Op,
|
||||
int SSFI = MF.getFrameInfo()->CreateStackObject(8, 8, false);
|
||||
SDValue StackSlot = DAG.getFrameIndex(SSFI, PtrVT);
|
||||
SDValue Store = DAG.getStore(DAG.getEntryNode(), dl, Chain,
|
||||
StackSlot, NULL, 0, false, false, 0);
|
||||
StackSlot, MachinePointerInfo(), false, false,0);
|
||||
|
||||
// Load FP Control Word from low 32 bits of stack slot.
|
||||
SDValue Four = DAG.getConstant(4, PtrVT);
|
||||
@ -4327,7 +4331,7 @@ SDValue PPCTargetLowering::LowerSCALAR_TO_VECTOR(SDValue Op,
|
||||
|
||||
// Store the input value into Value#0 of the stack slot.
|
||||
SDValue Store = DAG.getStore(DAG.getEntryNode(), dl,
|
||||
Op.getOperand(0), FIdx, NULL, 0,
|
||||
Op.getOperand(0), FIdx, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
// Load it out.
|
||||
return DAG.getLoad(Op.getValueType(), dl, Store, FIdx, MachinePointerInfo(),
|
||||
|
@ -244,7 +244,8 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
true);
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
|
||||
OutChains.push_back(DAG.getStore(DAG.getRoot(), dl, Arg, FIPtr, NULL, 0,
|
||||
OutChains.push_back(DAG.getStore(DAG.getRoot(), dl, Arg, FIPtr,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
ArgOffset += 4;
|
||||
}
|
||||
@ -350,7 +351,7 @@ SparcTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
// FIXME: VERIFY THAT 68 IS RIGHT.
|
||||
SDValue PtrOff = DAG.getIntPtrConstant(VA.getLocMemOffset()+68);
|
||||
PtrOff = DAG.getNode(ISD::ADD, MVT::i32, StackPtr, PtrOff);
|
||||
MemOpChains.push_back(DAG.getStore(Chain, Arg, PtrOff, NULL, 0,
|
||||
MemOpChains.push_back(DAG.getStore(Chain, Arg, PtrOff, MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
}
|
||||
|
||||
@ -397,7 +398,7 @@ SparcTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
// out the parts as integers. Top part goes in a reg.
|
||||
SDValue StackPtr = DAG.CreateStackTemporary(MVT::f64, MVT::i32);
|
||||
SDValue Store = DAG.getStore(DAG.getEntryNode(), dl,
|
||||
Val, StackPtr, NULL, 0,
|
||||
Val, StackPtr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
// Sparc is big-endian, so the high part comes first.
|
||||
SDValue Hi = DAG.getLoad(MVT::i32, dl, Store, StackPtr,
|
||||
@ -450,7 +451,7 @@ SparcTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
SDValue PtrOff = DAG.getConstant(ArgOffset, MVT::i32);
|
||||
PtrOff = DAG.getNode(ISD::ADD, dl, MVT::i32, StackPtr, PtrOff);
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, ValToStore,
|
||||
PtrOff, NULL, 0,
|
||||
PtrOff, MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
}
|
||||
ArgOffset += ObjSize;
|
||||
@ -892,8 +893,8 @@ static SDValue LowerVASTART(SDValue Op, SelectionDAG &DAG,
|
||||
DAG.getConstant(FuncInfo->getVarArgsFrameOffset(),
|
||||
MVT::i32));
|
||||
const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
|
||||
return DAG.getStore(Op.getOperand(0), dl, Offset, Op.getOperand(1), SV, 0,
|
||||
false, false, 0);
|
||||
return DAG.getStore(Op.getOperand(0), dl, Offset, Op.getOperand(1),
|
||||
MachinePointerInfo(SV), false, false, 0);
|
||||
}
|
||||
|
||||
static SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) {
|
||||
@ -911,7 +912,7 @@ static SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) {
|
||||
MVT::i32));
|
||||
// Store the incremented VAList to the legalized pointer
|
||||
InChain = DAG.getStore(VAList.getValue(1), dl, NextPtr,
|
||||
VAListPtr, SV, 0, false, false, 0);
|
||||
VAListPtr, MachinePointerInfo(SV), false, false, 0);
|
||||
// Load the actual argument out of the pointer VAList, unless this is an
|
||||
// f64 load.
|
||||
if (VT != MVT::f64)
|
||||
|
@ -441,7 +441,7 @@ SystemZTargetLowering::LowerCCCCallTo(SDValue Chain, SDValue Callee,
|
||||
DAG.getIntPtrConstant(Offset));
|
||||
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, PtrOff,
|
||||
PseudoSourceValue::getStack(), Offset,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
}
|
||||
}
|
||||
|
@ -760,8 +760,8 @@ LowerVAARG(SDValue Op, SelectionDAG &DAG) const
|
||||
DAG.getConstant(VT.getSizeInBits(),
|
||||
getPointerTy()));
|
||||
// Store the incremented VAList to the legalized pointer
|
||||
Tmp3 = DAG.getStore(VAList.getValue(1), dl, Tmp3, Node->getOperand(1), V, 0,
|
||||
false, false, 0);
|
||||
Tmp3 = DAG.getStore(VAList.getValue(1), dl, Tmp3, Node->getOperand(1),
|
||||
MachinePointerInfo(V), false, false, 0);
|
||||
// Load the actual argument out of the pointer VAList
|
||||
return DAG.getLoad(VT, dl, Tmp3, VAList, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
@ -776,9 +776,8 @@ LowerVASTART(SDValue Op, SelectionDAG &DAG) const
|
||||
MachineFunction &MF = DAG.getMachineFunction();
|
||||
XCoreFunctionInfo *XFI = MF.getInfo<XCoreFunctionInfo>();
|
||||
SDValue Addr = DAG.getFrameIndex(XFI->getVarArgsFrameIndex(), MVT::i32);
|
||||
const Value *SV = cast<SrcValueSDNode>(Op.getOperand(2))->getValue();
|
||||
return DAG.getStore(Op.getOperand(0), dl, Addr, Op.getOperand(1), SV, 0,
|
||||
false, false, 0);
|
||||
return DAG.getStore(Op.getOperand(0), dl, Addr, Op.getOperand(1),
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
}
|
||||
|
||||
SDValue XCoreTargetLowering::LowerFRAMEADDR(SDValue Op,
|
||||
@ -1110,8 +1109,8 @@ XCoreTargetLowering::LowerCCCArguments(SDValue Chain,
|
||||
RegInfo.addLiveIn(ArgRegs[i], VReg);
|
||||
SDValue Val = DAG.getCopyFromReg(Chain, dl, VReg, MVT::i32);
|
||||
// Move argument from virt reg -> stack
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Store = DAG.getStore(Val.getValue(1), dl, Val, FIN,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
MemOps.push_back(Store);
|
||||
}
|
||||
if (!MemOps.empty())
|
||||
|
Loading…
Reference in New Issue
Block a user