Add assertion for the chain value type

llvm-svn: 135143
This commit is contained in:
Nadav Rotem 2011-07-14 10:37:54 +00:00
parent e03f15ad2b
commit db213c0400
1 changed files with 10 additions and 0 deletions

View File

@ -4037,6 +4037,8 @@ SelectionDAG::getLoad(ISD::MemIndexedMode AM, ISD::LoadExtType ExtType,
MachinePointerInfo PtrInfo, EVT MemVT, MachinePointerInfo PtrInfo, EVT MemVT,
bool isVolatile, bool isNonTemporal, bool isVolatile, bool isNonTemporal,
unsigned Alignment, const MDNode *TBAAInfo) { unsigned Alignment, const MDNode *TBAAInfo) {
assert(Chain.getValueType() == MVT::Other &&
"Invalid chain type");
if (Alignment == 0) // Ensure that codegen never sees alignment 0 if (Alignment == 0) // Ensure that codegen never sees alignment 0
Alignment = getEVTAlignment(VT); Alignment = getEVTAlignment(VT);
@ -4142,6 +4144,8 @@ SDValue SelectionDAG::getStore(SDValue Chain, DebugLoc dl, SDValue Val,
SDValue Ptr, MachinePointerInfo PtrInfo, SDValue Ptr, MachinePointerInfo PtrInfo,
bool isVolatile, bool isNonTemporal, bool isVolatile, bool isNonTemporal,
unsigned Alignment, const MDNode *TBAAInfo) { unsigned Alignment, const MDNode *TBAAInfo) {
assert(Chain.getValueType() == MVT::Other &&
"Invalid chain type");
if (Alignment == 0) // Ensure that codegen never sees alignment 0 if (Alignment == 0) // Ensure that codegen never sees alignment 0
Alignment = getEVTAlignment(Val.getValueType()); Alignment = getEVTAlignment(Val.getValueType());
@ -4165,6 +4169,8 @@ SDValue SelectionDAG::getStore(SDValue Chain, DebugLoc dl, SDValue Val,
SDValue SelectionDAG::getStore(SDValue Chain, DebugLoc dl, SDValue Val, SDValue SelectionDAG::getStore(SDValue Chain, DebugLoc dl, SDValue Val,
SDValue Ptr, MachineMemOperand *MMO) { SDValue Ptr, MachineMemOperand *MMO) {
assert(Chain.getValueType() == MVT::Other &&
"Invalid chain type");
EVT VT = Val.getValueType(); EVT VT = Val.getValueType();
SDVTList VTs = getVTList(MVT::Other); SDVTList VTs = getVTList(MVT::Other);
SDValue Undef = getUNDEF(Ptr.getValueType()); SDValue Undef = getUNDEF(Ptr.getValueType());
@ -4191,6 +4197,8 @@ SDValue SelectionDAG::getTruncStore(SDValue Chain, DebugLoc dl, SDValue Val,
EVT SVT,bool isVolatile, bool isNonTemporal, EVT SVT,bool isVolatile, bool isNonTemporal,
unsigned Alignment, unsigned Alignment,
const MDNode *TBAAInfo) { const MDNode *TBAAInfo) {
assert(Chain.getValueType() == MVT::Other &&
"Invalid chain type");
if (Alignment == 0) // Ensure that codegen never sees alignment 0 if (Alignment == 0) // Ensure that codegen never sees alignment 0
Alignment = getEVTAlignment(SVT); Alignment = getEVTAlignment(SVT);
@ -4216,6 +4224,8 @@ SDValue SelectionDAG::getTruncStore(SDValue Chain, DebugLoc dl, SDValue Val,
MachineMemOperand *MMO) { MachineMemOperand *MMO) {
EVT VT = Val.getValueType(); EVT VT = Val.getValueType();
assert(Chain.getValueType() == MVT::Other &&
"Invalid chain type");
if (VT == SVT) if (VT == SVT)
return getStore(Chain, dl, Val, Ptr, MMO); return getStore(Chain, dl, Val, Ptr, MMO);