simplify interface to SelectionDAG::getMemIntrinsicNode, making it take a MachinePointerInfo

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@114397 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2010-09-21 04:57:15 +00:00
parent 60bddc8bcd
commit e9ba5dd236
3 changed files with 8 additions and 8 deletions

View File

@ -609,13 +609,13 @@ public:
SDValue getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDValue getMemIntrinsicNode(unsigned Opcode, DebugLoc dl,
const EVT *VTs, unsigned NumVTs, const EVT *VTs, unsigned NumVTs,
const SDValue *Ops, unsigned NumOps, const SDValue *Ops, unsigned NumOps,
EVT MemVT, const Value *srcValue, int SVOff, EVT MemVT, MachinePointerInfo PtrInfo,
unsigned Align = 0, bool Vol = false, unsigned Align = 0, bool Vol = false,
bool ReadMem = true, bool WriteMem = true); bool ReadMem = true, bool WriteMem = true);
SDValue getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDVTList VTList, SDValue getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDVTList VTList,
const SDValue *Ops, unsigned NumOps, const SDValue *Ops, unsigned NumOps,
EVT MemVT, const Value *srcValue, int SVOff, EVT MemVT, MachinePointerInfo PtrInfo,
unsigned Align = 0, bool Vol = false, unsigned Align = 0, bool Vol = false,
bool ReadMem = true, bool WriteMem = true); bool ReadMem = true, bool WriteMem = true);

View File

@ -3795,18 +3795,18 @@ SDValue
SelectionDAG::getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SelectionDAG::getMemIntrinsicNode(unsigned Opcode, DebugLoc dl,
const EVT *VTs, unsigned NumVTs, const EVT *VTs, unsigned NumVTs,
const SDValue *Ops, unsigned NumOps, const SDValue *Ops, unsigned NumOps,
EVT MemVT, const Value *srcValue, int SVOff, EVT MemVT, MachinePointerInfo PtrInfo,
unsigned Align, bool Vol, unsigned Align, bool Vol,
bool ReadMem, bool WriteMem) { bool ReadMem, bool WriteMem) {
return getMemIntrinsicNode(Opcode, dl, makeVTList(VTs, NumVTs), Ops, NumOps, return getMemIntrinsicNode(Opcode, dl, makeVTList(VTs, NumVTs), Ops, NumOps,
MemVT, srcValue, SVOff, Align, Vol, MemVT, PtrInfo, Align, Vol,
ReadMem, WriteMem); ReadMem, WriteMem);
} }
SDValue SDValue
SelectionDAG::getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDVTList VTList, SelectionDAG::getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDVTList VTList,
const SDValue *Ops, unsigned NumOps, const SDValue *Ops, unsigned NumOps,
EVT MemVT, const Value *srcValue, int SVOff, EVT MemVT, MachinePointerInfo PtrInfo,
unsigned Align, bool Vol, unsigned Align, bool Vol,
bool ReadMem, bool WriteMem) { bool ReadMem, bool WriteMem) {
if (Align == 0) // Ensure that codegen never sees alignment 0 if (Align == 0) // Ensure that codegen never sees alignment 0
@ -3821,8 +3821,7 @@ SelectionDAG::getMemIntrinsicNode(unsigned Opcode, DebugLoc dl, SDVTList VTList,
if (Vol) if (Vol)
Flags |= MachineMemOperand::MOVolatile; Flags |= MachineMemOperand::MOVolatile;
MachineMemOperand *MMO = MachineMemOperand *MMO =
MF.getMachineMemOperand(MachinePointerInfo(srcValue, SVOff), Flags, MF.getMachineMemOperand(PtrInfo, Flags, MemVT.getStoreSize(), Align);
MemVT.getStoreSize(), Align);
return getMemIntrinsicNode(Opcode, dl, VTList, Ops, NumOps, MemVT, MMO); return getMemIntrinsicNode(Opcode, dl, VTList, Ops, NumOps, MemVT, MMO);
} }

View File

@ -3062,7 +3062,8 @@ void SelectionDAGBuilder::visitTargetIntrinsic(const CallInst &I,
// This is target intrinsic that touches memory // This is target intrinsic that touches memory
Result = DAG.getMemIntrinsicNode(Info.opc, getCurDebugLoc(), Result = DAG.getMemIntrinsicNode(Info.opc, getCurDebugLoc(),
VTs, &Ops[0], Ops.size(), VTs, &Ops[0], Ops.size(),
Info.memVT, Info.ptrVal, Info.offset, Info.memVT,
MachinePointerInfo(Info.ptrVal, Info.offset),
Info.align, Info.vol, Info.align, Info.vol,
Info.readMem, Info.writeMem); Info.readMem, Info.writeMem);
} else if (!HasChain) { } else if (!HasChain) {