forked from OSchip/llvm-project
simplify interface to SelectionDAG::getMemIntrinsicNode, making it take a MachinePointerInfo
llvm-svn: 114397
This commit is contained in:
parent
15d84c460a
commit
d2d58ada70
|
@ -609,13 +609,13 @@ public:
|
|||
SDValue getMemIntrinsicNode(unsigned Opcode, DebugLoc dl,
|
||||
const EVT *VTs, unsigned NumVTs,
|
||||
const SDValue *Ops, unsigned NumOps,
|
||||
EVT MemVT, const Value *srcValue, int SVOff,
|
||||
EVT MemVT, MachinePointerInfo PtrInfo,
|
||||
unsigned Align = 0, bool Vol = false,
|
||||
bool ReadMem = true, bool WriteMem = true);
|
||||
|
||||
SDValue getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDVTList VTList,
|
||||
const SDValue *Ops, unsigned NumOps,
|
||||
EVT MemVT, const Value *srcValue, int SVOff,
|
||||
EVT MemVT, MachinePointerInfo PtrInfo,
|
||||
unsigned Align = 0, bool Vol = false,
|
||||
bool ReadMem = true, bool WriteMem = true);
|
||||
|
||||
|
|
|
@ -3795,18 +3795,18 @@ SDValue
|
|||
SelectionDAG::getMemIntrinsicNode(unsigned Opcode, DebugLoc dl,
|
||||
const EVT *VTs, unsigned NumVTs,
|
||||
const SDValue *Ops, unsigned NumOps,
|
||||
EVT MemVT, const Value *srcValue, int SVOff,
|
||||
EVT MemVT, MachinePointerInfo PtrInfo,
|
||||
unsigned Align, bool Vol,
|
||||
bool ReadMem, bool WriteMem) {
|
||||
return getMemIntrinsicNode(Opcode, dl, makeVTList(VTs, NumVTs), Ops, NumOps,
|
||||
MemVT, srcValue, SVOff, Align, Vol,
|
||||
MemVT, PtrInfo, Align, Vol,
|
||||
ReadMem, WriteMem);
|
||||
}
|
||||
|
||||
SDValue
|
||||
SelectionDAG::getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDVTList VTList,
|
||||
const SDValue *Ops, unsigned NumOps,
|
||||
EVT MemVT, const Value *srcValue, int SVOff,
|
||||
EVT MemVT, MachinePointerInfo PtrInfo,
|
||||
unsigned Align, bool Vol,
|
||||
bool ReadMem, bool WriteMem) {
|
||||
if (Align == 0) // Ensure that codegen never sees alignment 0
|
||||
|
@ -3821,8 +3821,7 @@ SelectionDAG::getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDVTList VTList,
|
|||
if (Vol)
|
||||
Flags |= MachineMemOperand::MOVolatile;
|
||||
MachineMemOperand *MMO =
|
||||
MF.getMachineMemOperand(MachinePointerInfo(srcValue, SVOff), Flags,
|
||||
MemVT.getStoreSize(), Align);
|
||||
MF.getMachineMemOperand(PtrInfo, Flags, MemVT.getStoreSize(), Align);
|
||||
|
||||
return getMemIntrinsicNode(Opcode, dl, VTList, Ops, NumOps, MemVT, MMO);
|
||||
}
|
||||
|
|
|
@ -3062,7 +3062,8 @@ void SelectionDAGBuilder::visitTargetIntrinsic(const CallInst &I,
|
|||
// This is target intrinsic that touches memory
|
||||
Result = DAG.getMemIntrinsicNode(Info.opc, getCurDebugLoc(),
|
||||
VTs, &Ops[0], Ops.size(),
|
||||
Info.memVT, Info.ptrVal, Info.offset,
|
||||
Info.memVT,
|
||||
MachinePointerInfo(Info.ptrVal, Info.offset),
|
||||
Info.align, Info.vol,
|
||||
Info.readMem, Info.writeMem);
|
||||
} else if (!HasChain) {
|
||||
|
|
Loading…
Reference in New Issue