mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-24 20:29:53 +00:00
convert the targets off the non-MachinePointerInfo of getLoad.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114410 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
1daa6f479d
commit
d1c24ed81c
@ -1153,7 +1153,7 @@ ARMTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
|
||||
Callee = DAG.getLoad(getPointerTy(), dl,
|
||||
DAG.getEntryNode(), CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
} else if (ExternalSymbolSDNode *S=dyn_cast<ExternalSymbolSDNode>(Callee)) {
|
||||
const char *Sym = S->getSymbol();
|
||||
@ -1167,7 +1167,7 @@ ARMTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
|
||||
Callee = DAG.getLoad(getPointerTy(), dl,
|
||||
DAG.getEntryNode(), CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
}
|
||||
} else if (GlobalAddressSDNode *G = dyn_cast<GlobalAddressSDNode>(Callee)) {
|
||||
@ -1189,7 +1189,7 @@ ARMTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
|
||||
Callee = DAG.getLoad(getPointerTy(), dl,
|
||||
DAG.getEntryNode(), CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
SDValue PICLabel = DAG.getConstant(ARMPCLabelIndex, MVT::i32);
|
||||
Callee = DAG.getNode(ARMISD::PIC_ADD, dl,
|
||||
@ -1211,7 +1211,7 @@ ARMTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
|
||||
Callee = DAG.getLoad(getPointerTy(), dl,
|
||||
DAG.getEntryNode(), CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
SDValue PICLabel = DAG.getConstant(ARMPCLabelIndex, MVT::i32);
|
||||
Callee = DAG.getNode(ARMISD::PIC_ADD, dl,
|
||||
@ -1595,7 +1595,7 @@ SDValue ARMTargetLowering::LowerBlockAddress(SDValue Op,
|
||||
}
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, DL, PtrVT, CPAddr);
|
||||
SDValue Result = DAG.getLoad(PtrVT, DL, DAG.getEntryNode(), CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
if (RelocM == Reloc::Static)
|
||||
return Result;
|
||||
@ -1619,7 +1619,7 @@ ARMTargetLowering::LowerToTLSGeneralDynamicModel(GlobalAddressSDNode *GA,
|
||||
SDValue Argument = DAG.getTargetConstantPool(CPV, PtrVT, 4);
|
||||
Argument = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, Argument);
|
||||
Argument = DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), Argument,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
SDValue Chain = Argument.getValue(1);
|
||||
|
||||
@ -1666,7 +1666,7 @@ ARMTargetLowering::LowerToTLSExecModels(GlobalAddressSDNode *GA,
|
||||
Offset = DAG.getTargetConstantPool(CPV, PtrVT, 4);
|
||||
Offset = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, Offset);
|
||||
Offset = DAG.getLoad(PtrVT, dl, Chain, Offset,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
Chain = Offset.getValue(1);
|
||||
|
||||
@ -1674,7 +1674,7 @@ ARMTargetLowering::LowerToTLSExecModels(GlobalAddressSDNode *GA,
|
||||
Offset = DAG.getNode(ARMISD::PIC_ADD, dl, PtrVT, Offset, PICLabel);
|
||||
|
||||
Offset = DAG.getLoad(PtrVT, dl, Chain, Offset,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
} else {
|
||||
// local exec model
|
||||
@ -1682,7 +1682,7 @@ ARMTargetLowering::LowerToTLSExecModels(GlobalAddressSDNode *GA,
|
||||
Offset = DAG.getTargetConstantPool(CPV, PtrVT, 4);
|
||||
Offset = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, Offset);
|
||||
Offset = DAG.getLoad(PtrVT, dl, Chain, Offset,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -1719,15 +1719,14 @@ SDValue ARMTargetLowering::LowerGlobalAddressELF(SDValue Op,
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
|
||||
SDValue Result = DAG.getLoad(PtrVT, dl, DAG.getEntryNode(),
|
||||
CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
SDValue Chain = Result.getValue(1);
|
||||
SDValue GOT = DAG.getGLOBAL_OFFSET_TABLE(PtrVT);
|
||||
Result = DAG.getNode(ISD::ADD, dl, PtrVT, Result, GOT);
|
||||
if (!UseGOTOFF)
|
||||
Result = DAG.getLoad(PtrVT, dl, Chain, Result,
|
||||
PseudoSourceValue::getGOT(), 0,
|
||||
false, false, 0);
|
||||
MachinePointerInfo::getGOT(), false, false, 0);
|
||||
return Result;
|
||||
} else {
|
||||
// If we have T2 ops, we can materialize the address directly via movt/movw
|
||||
@ -1739,7 +1738,7 @@ SDValue ARMTargetLowering::LowerGlobalAddressELF(SDValue Op,
|
||||
SDValue CPAddr = DAG.getTargetConstantPool(GV, PtrVT, 4);
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
|
||||
return DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
}
|
||||
}
|
||||
@ -1767,7 +1766,7 @@ SDValue ARMTargetLowering::LowerGlobalAddressDarwin(SDValue Op,
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
|
||||
|
||||
SDValue Result = DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
SDValue Chain = Result.getValue(1);
|
||||
|
||||
@ -1777,8 +1776,7 @@ SDValue ARMTargetLowering::LowerGlobalAddressDarwin(SDValue Op,
|
||||
}
|
||||
|
||||
if (Subtarget->GVIsIndirectSymbol(GV, RelocM))
|
||||
Result = DAG.getLoad(PtrVT, dl, Chain, Result,
|
||||
PseudoSourceValue::getGOT(), 0,
|
||||
Result = DAG.getLoad(PtrVT, dl, Chain, Result, MachinePointerInfo::getGOT(),
|
||||
false, false, 0);
|
||||
|
||||
return Result;
|
||||
@ -1800,7 +1798,7 @@ SDValue ARMTargetLowering::LowerGLOBAL_OFFSET_TABLE(SDValue Op,
|
||||
SDValue CPAddr = DAG.getTargetConstantPool(CPV, PtrVT, 4);
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
|
||||
SDValue Result = DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
SDValue PICLabel = DAG.getConstant(ARMPCLabelIndex, MVT::i32);
|
||||
return DAG.getNode(ARMISD::PIC_ADD, dl, PtrVT, Result, PICLabel);
|
||||
@ -1849,7 +1847,7 @@ ARMTargetLowering::LowerINTRINSIC_WO_CHAIN(SDValue Op, SelectionDAG &DAG,
|
||||
CPAddr = DAG.getNode(ARMISD::Wrapper, dl, MVT::i32, CPAddr);
|
||||
SDValue Result =
|
||||
DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), CPAddr,
|
||||
PseudoSourceValue::getConstantPool(), 0,
|
||||
MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
|
||||
if (RelocM == Reloc::PIC_) {
|
||||
@ -1920,7 +1918,7 @@ ARMTargetLowering::GetF64FormalArgument(CCValAssign &VA, CCValAssign &NextVA,
|
||||
// Create load node to retrieve arguments from the stack.
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
ArgValue2 = DAG.getLoad(MVT::i32, dl, Root, FIN,
|
||||
PseudoSourceValue::getFixedStack(FI), 0,
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0);
|
||||
} else {
|
||||
Reg = MF.addLiveIn(NextVA.getLocReg(), RC);
|
||||
@ -1974,7 +1972,7 @@ ARMTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
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,
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0);
|
||||
} else {
|
||||
ArgValue2 = GetF64FormalArgument(VA, ArgLocs[++i],
|
||||
@ -2043,7 +2041,7 @@ ARMTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
// Create load nodes to retrieve arguments from the stack.
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN,
|
||||
PseudoSourceValue::getFixedStack(FI), 0,
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0));
|
||||
}
|
||||
}
|
||||
@ -2299,8 +2297,7 @@ static SDValue bitcastf32Toi32(SDValue Op, SelectionDAG &DAG) {
|
||||
|
||||
if (LoadSDNode *Ld = dyn_cast<LoadSDNode>(Op))
|
||||
return DAG.getLoad(MVT::i32, Op.getDebugLoc(),
|
||||
Ld->getChain(), Ld->getBasePtr(),
|
||||
Ld->getSrcValue(), Ld->getSrcValueOffset(),
|
||||
Ld->getChain(), Ld->getBasePtr(), Ld->getPointerInfo(),
|
||||
Ld->isVolatile(), Ld->isNonTemporal(),
|
||||
Ld->getAlignment());
|
||||
|
||||
@ -2319,7 +2316,7 @@ static void expandf64Toi32(SDValue Op, SelectionDAG &DAG,
|
||||
SDValue Ptr = Ld->getBasePtr();
|
||||
RetVal1 = DAG.getLoad(MVT::i32, Op.getDebugLoc(),
|
||||
Ld->getChain(), Ptr,
|
||||
Ld->getSrcValue(), Ld->getSrcValueOffset(),
|
||||
Ld->getPointerInfo(),
|
||||
Ld->isVolatile(), Ld->isNonTemporal(),
|
||||
Ld->getAlignment());
|
||||
|
||||
@ -2329,7 +2326,7 @@ static void expandf64Toi32(SDValue Op, SelectionDAG &DAG,
|
||||
PtrType, Ptr, DAG.getConstant(4, PtrType));
|
||||
RetVal2 = DAG.getLoad(MVT::i32, Op.getDebugLoc(),
|
||||
Ld->getChain(), NewPtr,
|
||||
Ld->getSrcValue(), Ld->getSrcValueOffset() + 4,
|
||||
Ld->getPointerInfo().getWithOffset(4),
|
||||
Ld->isVolatile(), Ld->isNonTemporal(),
|
||||
NewAlign);
|
||||
return;
|
||||
@ -2454,14 +2451,14 @@ SDValue ARMTargetLowering::LowerBR_JT(SDValue Op, SelectionDAG &DAG) const {
|
||||
}
|
||||
if (getTargetMachine().getRelocationModel() == Reloc::PIC_) {
|
||||
Addr = DAG.getLoad((EVT)MVT::i32, dl, Chain, Addr,
|
||||
PseudoSourceValue::getJumpTable(), 0,
|
||||
MachinePointerInfo::getJumpTable(),
|
||||
false, false, 0);
|
||||
Chain = Addr.getValue(1);
|
||||
Addr = DAG.getNode(ISD::ADD, dl, PTy, Addr, Table);
|
||||
return DAG.getNode(ARMISD::BR_JT, dl, MVT::Other, Chain, Addr, JTI, UId);
|
||||
} else {
|
||||
Addr = DAG.getLoad(PTy, dl, Chain, Addr,
|
||||
PseudoSourceValue::getJumpTable(), 0, false, false, 0);
|
||||
MachinePointerInfo::getJumpTable(), false, false, 0);
|
||||
Chain = Addr.getValue(1);
|
||||
return DAG.getNode(ARMISD::BR_JT, dl, MVT::Other, Chain, Addr, JTI, UId);
|
||||
}
|
||||
@ -2533,7 +2530,7 @@ SDValue ARMTargetLowering::LowerRETURNADDR(SDValue Op, SelectionDAG &DAG) const{
|
||||
SDValue Offset = DAG.getConstant(4, MVT::i32);
|
||||
return DAG.getLoad(VT, dl, DAG.getEntryNode(),
|
||||
DAG.getNode(ISD::ADD, dl, VT, FrameAddr, Offset),
|
||||
NULL, 0, false, false, 0);
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
}
|
||||
|
||||
// Return LR, which contains the return address. Mark it an implicit live-in.
|
||||
@ -2552,7 +2549,8 @@ SDValue ARMTargetLowering::LowerFRAMEADDR(SDValue Op, SelectionDAG &DAG) const {
|
||||
? ARM::R7 : ARM::R11;
|
||||
SDValue FrameAddr = DAG.getCopyFromReg(DAG.getEntryNode(), dl, FrameReg, VT);
|
||||
while (Depth--)
|
||||
FrameAddr = DAG.getLoad(VT, dl, DAG.getEntryNode(), FrameAddr, NULL, 0,
|
||||
FrameAddr = DAG.getLoad(VT, dl, DAG.getEntryNode(), FrameAddr,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
return FrameAddr;
|
||||
}
|
||||
@ -3618,8 +3616,7 @@ static SDValue SkipExtension(SDNode *N, SelectionDAG &DAG) {
|
||||
return N->getOperand(0);
|
||||
LoadSDNode *LD = cast<LoadSDNode>(N);
|
||||
return DAG.getLoad(LD->getMemoryVT(), N->getDebugLoc(), LD->getChain(),
|
||||
LD->getBasePtr(), LD->getSrcValue(),
|
||||
LD->getSrcValueOffset(), LD->isVolatile(),
|
||||
LD->getBasePtr(), LD->getPointerInfo(), LD->isVolatile(),
|
||||
LD->isNonTemporal(), LD->getAlignment());
|
||||
}
|
||||
|
||||
|
@ -431,7 +431,7 @@ AlphaTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
// Create the SelectionDAG nodes corresponding to a load
|
||||
//from this parameter
|
||||
SDValue FIN = DAG.getFrameIndex(FI, MVT::i64);
|
||||
ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, NULL, 0,
|
||||
ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
InVals.push_back(ArgVal);
|
||||
@ -537,7 +537,8 @@ void AlphaTargetLowering::LowerVAARG(SDNode *N, SDValue &Chain,
|
||||
const Value *VAListS = cast<SrcValueSDNode>(N->getOperand(2))->getValue();
|
||||
DebugLoc dl = N->getDebugLoc();
|
||||
|
||||
SDValue Base = DAG.getLoad(MVT::i64, dl, Chain, VAListP, VAListS, 0,
|
||||
SDValue Base = DAG.getLoad(MVT::i64, dl, Chain, VAListP,
|
||||
MachinePointerInfo(VAListS),
|
||||
false, false, 0);
|
||||
SDValue Tmp = DAG.getNode(ISD::ADD, dl, MVT::i64, VAListP,
|
||||
DAG.getConstant(8, MVT::i64));
|
||||
@ -709,7 +710,8 @@ SDValue AlphaTargetLowering::LowerOperation(SDValue Op,
|
||||
Result = DAG.getExtLoad(ISD::SEXTLOAD, MVT::i64, dl, Chain, DataPtr,
|
||||
NULL, 0, MVT::i32, false, false, 0);
|
||||
else
|
||||
Result = DAG.getLoad(Op.getValueType(), dl, Chain, DataPtr, NULL, 0,
|
||||
Result = DAG.getLoad(Op.getValueType(), dl, Chain, DataPtr,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
return Result;
|
||||
}
|
||||
@ -720,7 +722,8 @@ SDValue AlphaTargetLowering::LowerOperation(SDValue Op,
|
||||
const Value *DestS = cast<SrcValueSDNode>(Op.getOperand(3))->getValue();
|
||||
const Value *SrcS = cast<SrcValueSDNode>(Op.getOperand(4))->getValue();
|
||||
|
||||
SDValue Val = DAG.getLoad(getPointerTy(), dl, Chain, SrcP, SrcS, 0,
|
||||
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,
|
||||
false, false, 0);
|
||||
@ -771,7 +774,8 @@ void AlphaTargetLowering::ReplaceNodeResults(SDNode *N,
|
||||
|
||||
SDValue Chain, DataPtr;
|
||||
LowerVAARG(N, Chain, DataPtr, DAG);
|
||||
SDValue Res = DAG.getLoad(N->getValueType(0), dl, Chain, DataPtr, NULL, 0,
|
||||
SDValue Res = DAG.getLoad(N->getValueType(0), dl, Chain, DataPtr,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
Results.push_back(Res);
|
||||
Results.push_back(SDValue(Res.getNode(), 1));
|
||||
|
@ -207,7 +207,8 @@ BlackfinTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
unsigned ObjSize = VA.getLocVT().getStoreSize();
|
||||
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,
|
||||
InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
}
|
||||
}
|
||||
|
@ -780,7 +780,8 @@ LowerFormalArguments(SDValue Chain, CallingConv::ID CallConv, bool isVarArg,
|
||||
|
||||
// Create load nodes to retrieve arguments from the stack
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN, NULL, 0,
|
||||
InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN,
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0));
|
||||
}
|
||||
}
|
||||
|
@ -376,7 +376,7 @@ MSP430TargetLowering::LowerCCCArguments(SDValue Chain,
|
||||
//from this parameter
|
||||
SDValue FIN = DAG.getFrameIndex(FI, MVT::i16);
|
||||
InVals.push_back(DAG.getLoad(VA.getLocVT(), dl, Chain, FIN,
|
||||
PseudoSourceValue::getFixedStack(FI), 0,
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0));
|
||||
}
|
||||
}
|
||||
@ -914,13 +914,13 @@ SDValue MSP430TargetLowering::LowerRETURNADDR(SDValue Op,
|
||||
return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(),
|
||||
DAG.getNode(ISD::ADD, dl, getPointerTy(),
|
||||
FrameAddr, Offset),
|
||||
NULL, 0, false, false, 0);
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
}
|
||||
|
||||
// Just load the return address.
|
||||
SDValue RetAddrFI = getReturnAddressFrameIndex(DAG);
|
||||
return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(),
|
||||
RetAddrFI, NULL, 0, false, false, 0);
|
||||
RetAddrFI, MachinePointerInfo(), false, false, 0);
|
||||
}
|
||||
|
||||
SDValue MSP430TargetLowering::LowerFRAMEADDR(SDValue Op,
|
||||
@ -934,7 +934,8 @@ SDValue MSP430TargetLowering::LowerFRAMEADDR(SDValue Op,
|
||||
SDValue FrameAddr = DAG.getCopyFromReg(DAG.getEntryNode(), dl,
|
||||
MSP430::FPW, VT);
|
||||
while (Depth--)
|
||||
FrameAddr = DAG.getLoad(VT, dl, DAG.getEntryNode(), FrameAddr, NULL, 0,
|
||||
FrameAddr = DAG.getLoad(VT, dl, DAG.getEntryNode(), FrameAddr,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
return FrameAddr;
|
||||
}
|
||||
|
@ -506,7 +506,7 @@ SDValue MipsTargetLowering::LowerGlobalAddress(SDValue Op,
|
||||
SDValue GA = DAG.getTargetGlobalAddress(GV, dl, MVT::i32, 0,
|
||||
MipsII::MO_GOT);
|
||||
SDValue ResNode = DAG.getLoad(MVT::i32, dl,
|
||||
DAG.getEntryNode(), GA, NULL, 0,
|
||||
DAG.getEntryNode(), GA, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
// On functions and global targets not internal linked only
|
||||
// a load from got/GP is necessary for PIC to work.
|
||||
@ -546,7 +546,8 @@ LowerJumpTable(SDValue Op, SelectionDAG &DAG) const
|
||||
SDValue Ops[] = { JTI };
|
||||
HiPart = DAG.getNode(MipsISD::Hi, dl, DAG.getVTList(MVT::i32), Ops, 1);
|
||||
} else // Emit Load from Global Pointer
|
||||
HiPart = DAG.getLoad(MVT::i32, dl, DAG.getEntryNode(), JTI, NULL, 0,
|
||||
HiPart = DAG.getLoad(MVT::i32, dl, DAG.getEntryNode(), JTI,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
|
||||
SDValue Lo = DAG.getNode(MipsISD::Lo, dl, MVT::i32, JTI);
|
||||
@ -584,7 +585,8 @@ LowerConstantPool(SDValue Op, SelectionDAG &DAG) const
|
||||
SDValue CP = DAG.getTargetConstantPool(C, MVT::i32, N->getAlignment(),
|
||||
N->getOffset(), MipsII::MO_GOT);
|
||||
SDValue Load = DAG.getLoad(MVT::i32, dl, DAG.getEntryNode(),
|
||||
CP, NULL, 0, false, false, 0);
|
||||
CP, MachinePointerInfo::getConstantPool(),
|
||||
false, false, 0);
|
||||
SDValue Lo = DAG.getNode(MipsISD::Lo, dl, MVT::i32, CP);
|
||||
ResNode = DAG.getNode(ISD::ADD, dl, MVT::i32, Load, Lo);
|
||||
}
|
||||
@ -937,8 +939,9 @@ MipsTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
|
||||
// Reload GP value.
|
||||
FI = MipsFI->getGPFI();
|
||||
SDValue FIN = DAG.getFrameIndex(FI,getPointerTy());
|
||||
SDValue GPLoad = DAG.getLoad(MVT::i32, dl, Chain, FIN, NULL, 0,
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
SDValue GPLoad = DAG.getLoad(MVT::i32, dl, Chain, FIN,
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0);
|
||||
Chain = GPLoad.getValue(1);
|
||||
Chain = DAG.getCopyToReg(Chain, dl, DAG.getRegister(Mips::GP, MVT::i32),
|
||||
@ -1104,7 +1107,8 @@ MipsTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
|
||||
// Create load nodes to retrieve arguments from the stack
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN, NULL, 0,
|
||||
InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN,
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0));
|
||||
}
|
||||
}
|
||||
|
@ -1244,7 +1244,7 @@ SDValue PPCTargetLowering::LowerGlobalAddress(SDValue Op,
|
||||
|
||||
// If the global is weak or external, we have to go through the lazy
|
||||
// resolution stub.
|
||||
return DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), Lo, NULL, 0,
|
||||
return DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), Lo, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -1635,7 +1635,8 @@ PPCTargetLowering::LowerFormalArguments_SVR4(
|
||||
|
||||
// Create load nodes to retrieve arguments from the stack.
|
||||
SDValue FIN = DAG.getFrameIndex(FI, PtrVT);
|
||||
InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN, NULL, 0,
|
||||
InVals.push_back(DAG.getLoad(VA.getValVT(), dl, Chain, FIN,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0));
|
||||
}
|
||||
}
|
||||
@ -2063,7 +2064,7 @@ PPCTargetLowering::LowerFormalArguments_Darwin(
|
||||
CurArgOffset + (ArgSize - ObjSize),
|
||||
isImmutable);
|
||||
SDValue FIN = DAG.getFrameIndex(FI, PtrVT);
|
||||
ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, NULL, 0,
|
||||
ArgVal = DAG.getLoad(ObjectVT, dl, Chain, FIN, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -2292,8 +2293,8 @@ StoreTailCallArgumentsToStackSlot(SelectionDAG &DAG,
|
||||
int FI = TailCallArgs[i].FrameIdx;
|
||||
// Store relative to framepointer.
|
||||
MemOpChains.push_back(DAG.getStore(Chain, dl, Arg, FIN,
|
||||
PseudoSourceValue::getFixedStack(FI),
|
||||
0, false, false, 0));
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0));
|
||||
}
|
||||
}
|
||||
|
||||
@ -2318,7 +2319,7 @@ static SDValue EmitTailCallStoreFPAndRetAddr(SelectionDAG &DAG,
|
||||
EVT VT = isPPC64 ? MVT::i64 : MVT::i32;
|
||||
SDValue NewRetAddrFrIdx = DAG.getFrameIndex(NewRetAddr, VT);
|
||||
Chain = DAG.getStore(Chain, dl, OldRetAddr, NewRetAddrFrIdx,
|
||||
PseudoSourceValue::getFixedStack(NewRetAddr), 0,
|
||||
MachinePointerInfo::getFixedStack(NewRetAddr),
|
||||
false, false, 0);
|
||||
|
||||
// When using the 32/64-bit SVR4 ABI there is no need to move the FP stack
|
||||
@ -2330,7 +2331,7 @@ static SDValue EmitTailCallStoreFPAndRetAddr(SelectionDAG &DAG,
|
||||
true);
|
||||
SDValue NewFramePtrIdx = DAG.getFrameIndex(NewFPIdx, VT);
|
||||
Chain = DAG.getStore(Chain, dl, OldFP, NewFramePtrIdx,
|
||||
PseudoSourceValue::getFixedStack(NewFPIdx), 0,
|
||||
MachinePointerInfo::getFixedStack(NewFPIdx),
|
||||
false, false, 0);
|
||||
}
|
||||
}
|
||||
@ -2369,7 +2370,7 @@ SDValue PPCTargetLowering::EmitTailCallLoadFPAndRetAddr(SelectionDAG & DAG,
|
||||
// Load the LR and FP stack slot for later adjusting.
|
||||
EVT VT = PPCSubTarget.isPPC64() ? MVT::i64 : MVT::i32;
|
||||
LROpOut = getReturnAddrFrameIndex(DAG);
|
||||
LROpOut = DAG.getLoad(VT, dl, Chain, LROpOut, NULL, 0,
|
||||
LROpOut = DAG.getLoad(VT, dl, Chain, LROpOut, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
Chain = SDValue(LROpOut.getNode(), 1);
|
||||
|
||||
@ -2377,7 +2378,7 @@ SDValue PPCTargetLowering::EmitTailCallLoadFPAndRetAddr(SelectionDAG & DAG,
|
||||
// slot as the FP is never overwritten.
|
||||
if (isDarwinABI) {
|
||||
FPOpOut = getFramePointerFrameIndex(DAG);
|
||||
FPOpOut = DAG.getLoad(VT, dl, Chain, FPOpOut, NULL, 0,
|
||||
FPOpOut = DAG.getLoad(VT, dl, Chain, FPOpOut, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
Chain = SDValue(FPOpOut.getNode(), 1);
|
||||
}
|
||||
@ -3105,7 +3106,8 @@ PPCTargetLowering::LowerCall_Darwin(SDValue Chain, SDValue Callee,
|
||||
SDValue Const = DAG.getConstant(j, PtrOff.getValueType());
|
||||
SDValue AddArg = DAG.getNode(ISD::ADD, dl, PtrVT, Arg, Const);
|
||||
if (GPR_idx != NumGPRs) {
|
||||
SDValue Load = DAG.getLoad(PtrVT, dl, Chain, AddArg, NULL, 0,
|
||||
SDValue Load = DAG.getLoad(PtrVT, dl, Chain, AddArg,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
MemOpChains.push_back(Load.getValue(1));
|
||||
RegsToPass.push_back(std::make_pair(GPR[GPR_idx++], Load));
|
||||
@ -3143,15 +3145,16 @@ PPCTargetLowering::LowerCall_Darwin(SDValue Chain, SDValue Callee,
|
||||
|
||||
// Float varargs are always shadowed in available integer registers
|
||||
if (GPR_idx != NumGPRs) {
|
||||
SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
MemOpChains.push_back(Load.getValue(1));
|
||||
RegsToPass.push_back(std::make_pair(GPR[GPR_idx++], Load));
|
||||
}
|
||||
if (GPR_idx != NumGPRs && Arg.getValueType() == MVT::f64 && !isPPC64){
|
||||
SDValue ConstFour = DAG.getConstant(4, PtrOff.getValueType());
|
||||
PtrOff = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff, ConstFour);
|
||||
SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff, NULL, 0,
|
||||
SDValue Load = DAG.getLoad(PtrVT, dl, Store, PtrOff,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
MemOpChains.push_back(Load.getValue(1));
|
||||
RegsToPass.push_back(std::make_pair(GPR[GPR_idx++], Load));
|
||||
@ -3199,7 +3202,8 @@ PPCTargetLowering::LowerCall_Darwin(SDValue Chain, SDValue Callee,
|
||||
false, false, 0);
|
||||
MemOpChains.push_back(Store);
|
||||
if (VR_idx != NumVRs) {
|
||||
SDValue Load = DAG.getLoad(MVT::v4f32, dl, Store, PtrOff, NULL, 0,
|
||||
SDValue Load = DAG.getLoad(MVT::v4f32, dl, Store, PtrOff,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
MemOpChains.push_back(Load.getValue(1));
|
||||
RegsToPass.push_back(std::make_pair(VR[VR_idx++], Load));
|
||||
@ -3210,7 +3214,7 @@ PPCTargetLowering::LowerCall_Darwin(SDValue Chain, SDValue Callee,
|
||||
break;
|
||||
SDValue Ix = DAG.getNode(ISD::ADD, dl, PtrVT, PtrOff,
|
||||
DAG.getConstant(i, PtrVT));
|
||||
SDValue Load = DAG.getLoad(PtrVT, dl, Store, Ix, NULL, 0,
|
||||
SDValue Load = DAG.getLoad(PtrVT, dl, Store, Ix, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
MemOpChains.push_back(Load.getValue(1));
|
||||
RegsToPass.push_back(std::make_pair(GPR[GPR_idx++], Load));
|
||||
@ -3363,7 +3367,8 @@ SDValue PPCTargetLowering::LowerSTACKRESTORE(SDValue Op, SelectionDAG &DAG,
|
||||
SDValue SaveSP = Op.getOperand(1);
|
||||
|
||||
// Load the old link SP.
|
||||
SDValue LoadLinkSP = DAG.getLoad(PtrVT, dl, Chain, StackPtr, NULL, 0,
|
||||
SDValue LoadLinkSP = DAG.getLoad(PtrVT, dl, Chain, StackPtr,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
|
||||
// Restore the stack pointer.
|
||||
@ -3554,7 +3559,7 @@ SDValue PPCTargetLowering::LowerFP_TO_INT(SDValue Op, SelectionDAG &DAG,
|
||||
if (Op.getValueType() == MVT::i32)
|
||||
FIPtr = DAG.getNode(ISD::ADD, dl, FIPtr.getValueType(), FIPtr,
|
||||
DAG.getConstant(4, FIPtr.getValueType()));
|
||||
return DAG.getLoad(Op.getValueType(), dl, Chain, FIPtr, NULL, 0,
|
||||
return DAG.getLoad(Op.getValueType(), dl, Chain, FIPtr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -3592,15 +3597,15 @@ SDValue PPCTargetLowering::LowerSINT_TO_FP(SDValue Op,
|
||||
|
||||
// STD the extended value into the stack slot.
|
||||
MachineMemOperand *MMO =
|
||||
MF.getMachineMemOperand(
|
||||
MachinePointerInfo(PseudoSourceValue::getFixedStack(FrameIdx)),
|
||||
MF.getMachineMemOperand(MachinePointerInfo::getFixedStack(FrameIdx),
|
||||
MachineMemOperand::MOStore, 8, 8);
|
||||
SDValue Ops[] = { DAG.getEntryNode(), Ext64, FIdx };
|
||||
SDValue Store =
|
||||
DAG.getMemIntrinsicNode(PPCISD::STD_32, dl, DAG.getVTList(MVT::Other),
|
||||
Ops, 4, MVT::i64, MMO);
|
||||
// Load the value as a double.
|
||||
SDValue Ld = DAG.getLoad(MVT::f64, dl, Store, FIdx, NULL, 0, false, false, 0);
|
||||
SDValue Ld = DAG.getLoad(MVT::f64, dl, Store, FIdx, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
|
||||
// FCFID it and return it.
|
||||
SDValue FP = DAG.getNode(PPCISD::FCFID, dl, MVT::f64, Ld);
|
||||
@ -3651,7 +3656,7 @@ SDValue PPCTargetLowering::LowerFLT_ROUNDS_(SDValue Op,
|
||||
// Load FP Control Word from low 32 bits of stack slot.
|
||||
SDValue Four = DAG.getConstant(4, PtrVT);
|
||||
SDValue Addr = DAG.getNode(ISD::ADD, dl, PtrVT, StackSlot, Four);
|
||||
SDValue CWD = DAG.getLoad(MVT::i32, dl, Store, Addr, NULL, 0,
|
||||
SDValue CWD = DAG.getLoad(MVT::i32, dl, Store, Addr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
|
||||
// Transform as necessary
|
||||
@ -4322,7 +4327,7 @@ SDValue PPCTargetLowering::LowerSCALAR_TO_VECTOR(SDValue Op,
|
||||
Op.getOperand(0), FIdx, NULL, 0,
|
||||
false, false, 0);
|
||||
// Load it out.
|
||||
return DAG.getLoad(Op.getValueType(), dl, Store, FIdx, NULL, 0,
|
||||
return DAG.getLoad(Op.getValueType(), dl, Store, FIdx, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -5544,13 +5549,13 @@ SDValue PPCTargetLowering::LowerRETURNADDR(SDValue Op,
|
||||
return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(),
|
||||
DAG.getNode(ISD::ADD, dl, getPointerTy(),
|
||||
FrameAddr, Offset),
|
||||
NULL, 0, false, false, 0);
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
}
|
||||
|
||||
// Just load the return address off the stack.
|
||||
SDValue RetAddrFI = getReturnAddrFrameIndex(DAG);
|
||||
return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(),
|
||||
RetAddrFI, NULL, 0, false, false, 0);
|
||||
RetAddrFI, MachinePointerInfo(), false, false, 0);
|
||||
}
|
||||
|
||||
SDValue PPCTargetLowering::LowerFRAMEADDR(SDValue Op,
|
||||
@ -5573,7 +5578,7 @@ SDValue PPCTargetLowering::LowerFRAMEADDR(SDValue Op,
|
||||
PtrVT);
|
||||
while (Depth--)
|
||||
FrameAddr = DAG.getLoad(Op.getValueType(), dl, DAG.getEntryNode(),
|
||||
FrameAddr, NULL, 0, false, false, 0);
|
||||
FrameAddr, MachinePointerInfo(), false, false, 0);
|
||||
return FrameAddr;
|
||||
}
|
||||
|
||||
|
@ -138,7 +138,7 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
SDValue Load;
|
||||
if (ObjectVT == MVT::i32) {
|
||||
Load = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, NULL, 0,
|
||||
Load = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
} else {
|
||||
ISD::LoadExtType LoadOp = ISD::SEXTLOAD;
|
||||
@ -172,7 +172,8 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset,
|
||||
true);
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
SDValue Load = DAG.getLoad(MVT::f32, dl, Chain, FIPtr, NULL, 0,
|
||||
SDValue Load = DAG.getLoad(MVT::f32, dl, Chain, FIPtr,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
InVals.push_back(Load);
|
||||
}
|
||||
@ -195,7 +196,7 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset,
|
||||
true);
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
HiVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, NULL, 0,
|
||||
HiVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -208,7 +209,7 @@ SparcTargetLowering::LowerFormalArguments(SDValue Chain,
|
||||
int FrameIdx = MF.getFrameInfo()->CreateFixedObject(4, ArgOffset+4,
|
||||
true);
|
||||
SDValue FIPtr = DAG.getFrameIndex(FrameIdx, MVT::i32);
|
||||
LoVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, NULL, 0,
|
||||
LoVal = DAG.getLoad(MVT::i32, dl, Chain, FIPtr, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -399,14 +400,14 @@ SparcTargetLowering::LowerCall(SDValue Chain, SDValue Callee,
|
||||
Val, StackPtr, NULL, 0,
|
||||
false, false, 0);
|
||||
// Sparc is big-endian, so the high part comes first.
|
||||
SDValue Hi = DAG.getLoad(MVT::i32, dl, Store, StackPtr, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Hi = DAG.getLoad(MVT::i32, dl, Store, StackPtr,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
// Increment the pointer to the other half.
|
||||
StackPtr = DAG.getNode(ISD::ADD, dl, StackPtr.getValueType(), StackPtr,
|
||||
DAG.getIntPtrConstant(4));
|
||||
// Load the low part.
|
||||
SDValue Lo = DAG.getLoad(MVT::i32, dl, Store, StackPtr, NULL, 0,
|
||||
false, false, 0);
|
||||
SDValue Lo = DAG.getLoad(MVT::i32, dl, Store, StackPtr,
|
||||
MachinePointerInfo(), false, false, 0);
|
||||
|
||||
RegsToPass.push_back(std::make_pair(ArgRegs[RegsToPass.size()], Hi));
|
||||
|
||||
@ -774,7 +775,7 @@ SDValue SparcTargetLowering::LowerGlobalAddress(SDValue Op,
|
||||
SDValue AbsAddr = DAG.getNode(ISD::ADD, dl, MVT::i32,
|
||||
GlobalBase, RelAddr);
|
||||
return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(),
|
||||
AbsAddr, NULL, 0, false, false, 0);
|
||||
AbsAddr, MachinePointerInfo(), false, false, 0);
|
||||
}
|
||||
|
||||
SDValue SparcTargetLowering::LowerConstantPool(SDValue Op,
|
||||
@ -795,7 +796,7 @@ SDValue SparcTargetLowering::LowerConstantPool(SDValue Op,
|
||||
SDValue AbsAddr = DAG.getNode(ISD::ADD, dl, MVT::i32,
|
||||
GlobalBase, RelAddr);
|
||||
return DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(),
|
||||
AbsAddr, NULL, 0, false, false, 0);
|
||||
AbsAddr, MachinePointerInfo(), false, false, 0);
|
||||
}
|
||||
|
||||
static SDValue LowerFP_TO_SINT(SDValue Op, SelectionDAG &DAG) {
|
||||
@ -902,8 +903,8 @@ static SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) {
|
||||
SDValue VAListPtr = Node->getOperand(1);
|
||||
const Value *SV = cast<SrcValueSDNode>(Node->getOperand(2))->getValue();
|
||||
DebugLoc dl = Node->getDebugLoc();
|
||||
SDValue VAList = DAG.getLoad(MVT::i32, dl, InChain, VAListPtr, SV, 0,
|
||||
false, false, 0);
|
||||
SDValue VAList = DAG.getLoad(MVT::i32, dl, InChain, VAListPtr,
|
||||
MachinePointerInfo(SV), false, false, 0);
|
||||
// Increment the pointer, VAList, to the next vaarg
|
||||
SDValue NextPtr = DAG.getNode(ISD::ADD, dl, MVT::i32, VAList,
|
||||
DAG.getConstant(VT.getSizeInBits()/8,
|
||||
@ -914,10 +915,11 @@ static SDValue LowerVAARG(SDValue Op, SelectionDAG &DAG) {
|
||||
// Load the actual argument out of the pointer VAList, unless this is an
|
||||
// f64 load.
|
||||
if (VT != MVT::f64)
|
||||
return DAG.getLoad(VT, dl, InChain, VAList, NULL, 0, false, false, 0);
|
||||
return DAG.getLoad(VT, dl, InChain, VAList, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
|
||||
// Otherwise, load it as i64, then do a bitconvert.
|
||||
SDValue V = DAG.getLoad(MVT::i64, dl, InChain, VAList, NULL, 0,
|
||||
SDValue V = DAG.getLoad(MVT::i64, dl, InChain, VAList, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
|
||||
// Bit-Convert the value to f64.
|
||||
|
@ -341,7 +341,7 @@ SystemZTargetLowering::LowerCCCArguments(SDValue Chain,
|
||||
// from this parameter
|
||||
SDValue FIN = DAG.getFrameIndex(FI, getPointerTy());
|
||||
ArgValue = DAG.getLoad(LocVT, dl, Chain, FIN,
|
||||
PseudoSourceValue::getFixedStack(FI), 0,
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
@ -747,7 +747,7 @@ SDValue SystemZTargetLowering::LowerGlobalAddress(SDValue Op,
|
||||
|
||||
if (ExtraLoadRequired)
|
||||
Result = DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(), Result,
|
||||
PseudoSourceValue::getGOT(), 0, false, false, 0);
|
||||
MachinePointerInfo::getGOT(), false, false, 0);
|
||||
|
||||
// If there was a non-zero offset that we didn't fold, create an explicit
|
||||
// addition for it.
|
||||
|
@ -6076,8 +6076,7 @@ X86TargetLowering::LowerGlobalAddress(const GlobalValue *GV, DebugLoc dl,
|
||||
// load.
|
||||
if (isGlobalStubReference(OpFlags))
|
||||
Result = DAG.getLoad(getPointerTy(), dl, DAG.getEntryNode(), Result,
|
||||
MachinePointerInfo(PseudoSourceValue::getGOT()),
|
||||
false, false, 0);
|
||||
MachinePointerInfo::getGOT(), false, false, 0);
|
||||
|
||||
// If there was a non-zero offset that we didn't fold, create an explicit
|
||||
// addition for it.
|
||||
@ -6182,8 +6181,7 @@ static SDValue LowerToTLSExecModel(GlobalAddressSDNode *GA, SelectionDAG &DAG,
|
||||
|
||||
if (model == TLSModel::InitialExec)
|
||||
Offset = DAG.getLoad(PtrVT, dl, DAG.getEntryNode(), Offset,
|
||||
MachinePointerInfo(PseudoSourceValue::getGOT()),
|
||||
false, false, 0);
|
||||
MachinePointerInfo::getGOT(), false, false, 0);
|
||||
|
||||
// The address of the thread local variable is the add of the thread
|
||||
// pointer with the offset of the variable.
|
||||
|
@ -419,10 +419,8 @@ LowerLOAD(SDValue Op, SelectionDAG &DAG) const
|
||||
// We've managed to infer better alignment information than the load
|
||||
// already has. Use an aligned load.
|
||||
//
|
||||
// FIXME: No new alignment information is actually passed here.
|
||||
// Should the offset really be 4?
|
||||
//
|
||||
return DAG.getLoad(getPointerTy(), dl, Chain, BasePtr, NULL, 4,
|
||||
return DAG.getLoad(getPointerTy(), dl, Chain, BasePtr,
|
||||
MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
// Lower to
|
||||
@ -440,9 +438,9 @@ LowerLOAD(SDValue Op, SelectionDAG &DAG) const
|
||||
SDValue HighAddr = DAG.getNode(ISD::ADD, dl, MVT::i32, Base, HighOffset);
|
||||
|
||||
SDValue Low = DAG.getLoad(getPointerTy(), dl, Chain,
|
||||
LowAddr, NULL, 4, false, false, 0);
|
||||
LowAddr, MachinePointerInfo(), false, false, 0);
|
||||
SDValue High = DAG.getLoad(getPointerTy(), dl, Chain,
|
||||
HighAddr, NULL, 4, false, false, 0);
|
||||
HighAddr, MachinePointerInfo(), false, false, 0);
|
||||
SDValue LowShifted = DAG.getNode(ISD::SRL, dl, MVT::i32, Low, LowShift);
|
||||
SDValue HighShifted = DAG.getNode(ISD::SHL, dl, MVT::i32, High, HighShift);
|
||||
SDValue Result = DAG.getNode(ISD::OR, dl, MVT::i32, LowShifted, HighShifted);
|
||||
@ -757,7 +755,8 @@ LowerVAARG(SDValue Op, SelectionDAG &DAG) const
|
||||
const Value *V = cast<SrcValueSDNode>(Node->getOperand(2))->getValue();
|
||||
EVT VT = Node->getValueType(0);
|
||||
SDValue VAList = DAG.getLoad(getPointerTy(), dl, Node->getOperand(0),
|
||||
Node->getOperand(1), V, 0, false, false, 0);
|
||||
Node->getOperand(1), MachinePointerInfo(V),
|
||||
false, false, 0);
|
||||
// Increment the pointer, VAList, to the next vararg
|
||||
SDValue Tmp3 = DAG.getNode(ISD::ADD, dl, getPointerTy(), VAList,
|
||||
DAG.getConstant(VT.getSizeInBits(),
|
||||
@ -766,7 +765,8 @@ LowerVAARG(SDValue Op, SelectionDAG &DAG) const
|
||||
Tmp3 = DAG.getStore(VAList.getValue(1), dl, Tmp3, Node->getOperand(1), V, 0,
|
||||
false, false, 0);
|
||||
// Load the actual argument out of the pointer VAList
|
||||
return DAG.getLoad(VT, dl, Tmp3, VAList, NULL, 0, false, false, 0);
|
||||
return DAG.getLoad(VT, dl, Tmp3, VAList, MachinePointerInfo(),
|
||||
false, false, 0);
|
||||
}
|
||||
|
||||
SDValue XCoreTargetLowering::
|
||||
@ -1079,7 +1079,8 @@ XCoreTargetLowering::LowerCCCArguments(SDValue Chain,
|
||||
// Create the SelectionDAG nodes corresponding to a load
|
||||
//from this parameter
|
||||
SDValue FIN = DAG.getFrameIndex(FI, MVT::i32);
|
||||
InVals.push_back(DAG.getLoad(VA.getLocVT(), dl, Chain, FIN, NULL, 0,
|
||||
InVals.push_back(DAG.getLoad(VA.getLocVT(), dl, Chain, FIN,
|
||||
MachinePointerInfo::getFixedStack(FI),
|
||||
false, false, 0));
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user