From 408960479637547cee5d8fdd91742267aec628bf Mon Sep 17 00:00:00 2001 From: Dan Gohman Date: Mon, 25 Feb 2008 22:16:29 +0000 Subject: [PATCH] Factor the assert for indexed loads/stores out of LoadSDNode and StoreSDNode into LSBaseSDNode. llvm-svn: 47570 --- include/llvm/CodeGen/SelectionDAGNodes.h | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/include/llvm/CodeGen/SelectionDAGNodes.h b/include/llvm/CodeGen/SelectionDAGNodes.h index 64c9fe3988e..56645f708eb 100644 --- a/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/include/llvm/CodeGen/SelectionDAGNodes.h @@ -1632,6 +1632,8 @@ public: Ops[i] = Operands[i]; InitOperands(Ops, NumOperands); assert(Align != 0 && "Loads and stores should have non-zero aligment"); + assert((getOffset().getOpcode() == ISD::UNDEF || isIndexed()) && + "Only indexed loads and stores have a non-undef offset operand"); } const SDOperand &getChain() const { return getOperand(0); } @@ -1682,10 +1684,7 @@ protected: const Value *SV, int O=0, unsigned Align=0, bool Vol=false) : LSBaseSDNode(ISD::LOAD, ChainPtrOff, 3, VTs, AM, LVT, SV, O, Align, Vol), - ExtType(ETy) { - assert((getOffset().getOpcode() == ISD::UNDEF || isIndexed()) && - "Only indexed loads and stores have a non-undef offset operand"); - } + ExtType(ETy) {} public: ISD::LoadExtType getExtensionType() const { return ExtType; } @@ -1712,10 +1711,7 @@ protected: const Value *SV, int O=0, unsigned Align=0, bool Vol=false) : LSBaseSDNode(ISD::STORE, ChainValuePtrOff, 4, VTs, AM, SVT, SV, O, Align, Vol), - IsTruncStore(isTrunc) { - assert((getOffset().getOpcode() == ISD::UNDEF || isIndexed()) && - "Only indexed loads and stores have a non-undef offset operand"); - } + IsTruncStore(isTrunc) {} public: bool isTruncatingStore() const { return IsTruncStore; }