Skip to content

Commit

Permalink
[SDAG] Remove a giant pile of asserts that may have helped track down
Browse files Browse the repository at this point in the history
a bug in 2010 when they were added but are adding no value today.

In fact, they are utter lies. NodeAllocator is used to allocate almost
all of these node types. I don't know what we were trying to assert
here, and the docs don't give any answer. Until we once again stumble
upon a bug needing help, let's clear the path for improvements.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213610 91177308-0d34-0410-b5e6-96231b3b80d8
  • Loading branch information
chandlerc committed Jul 22, 2014
1 parent 4a913e0 commit 3c249a5
Showing 1 changed file with 3 additions and 40 deletions.
43 changes: 3 additions & 40 deletions lib/CodeGen/SelectionDAG/SelectionDAG.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -840,8 +840,8 @@ SDNode *SelectionDAG::FindModifiedNodeSlot(SDNode *N, ArrayRef<SDValue> Ops,
}

#ifndef NDEBUG
/// VerifyNodeCommon - Sanity check the given node. Aborts if it is invalid.
static void VerifyNodeCommon(SDNode *N) {
/// VerifySDNode - Sanity check the given SDNode. Aborts if it is invalid.
static void VerifySDNode(SDNode *N) {
switch (N->getOpcode()) {
default:
break;
Expand Down Expand Up @@ -877,43 +877,6 @@ static void VerifyNodeCommon(SDNode *N) {
}
}
}

/// VerifySDNode - Sanity check the given SDNode. Aborts if it is invalid.
static void VerifySDNode(SDNode *N) {
// The SDNode allocators cannot be used to allocate nodes with fields that are
// not present in an SDNode!
assert(!isa<MemSDNode>(N) && "Bad MemSDNode!");
assert(!isa<ShuffleVectorSDNode>(N) && "Bad ShuffleVectorSDNode!");
assert(!isa<ConstantSDNode>(N) && "Bad ConstantSDNode!");
assert(!isa<ConstantFPSDNode>(N) && "Bad ConstantFPSDNode!");
assert(!isa<GlobalAddressSDNode>(N) && "Bad GlobalAddressSDNode!");
assert(!isa<FrameIndexSDNode>(N) && "Bad FrameIndexSDNode!");
assert(!isa<JumpTableSDNode>(N) && "Bad JumpTableSDNode!");
assert(!isa<ConstantPoolSDNode>(N) && "Bad ConstantPoolSDNode!");
assert(!isa<BasicBlockSDNode>(N) && "Bad BasicBlockSDNode!");
assert(!isa<SrcValueSDNode>(N) && "Bad SrcValueSDNode!");
assert(!isa<MDNodeSDNode>(N) && "Bad MDNodeSDNode!");
assert(!isa<RegisterSDNode>(N) && "Bad RegisterSDNode!");
assert(!isa<BlockAddressSDNode>(N) && "Bad BlockAddressSDNode!");
assert(!isa<EHLabelSDNode>(N) && "Bad EHLabelSDNode!");
assert(!isa<ExternalSymbolSDNode>(N) && "Bad ExternalSymbolSDNode!");
assert(!isa<CondCodeSDNode>(N) && "Bad CondCodeSDNode!");
assert(!isa<CvtRndSatSDNode>(N) && "Bad CvtRndSatSDNode!");
assert(!isa<VTSDNode>(N) && "Bad VTSDNode!");
assert(!isa<MachineSDNode>(N) && "Bad MachineSDNode!");

VerifyNodeCommon(N);
}

/// VerifyMachineNode - Sanity check the given MachineNode. Aborts if it is
/// invalid.
static void VerifyMachineNode(SDNode *N) {
// The MachineNode allocators cannot be used to allocate nodes with fields
// that are not present in a MachineNode!
// Currently there are no such nodes.

VerifyNodeCommon(N);
}
#endif // NDEBUG

/// getEVTAlignment - Compute the default alignment value for the
Expand Down Expand Up @@ -5751,7 +5714,7 @@ SelectionDAG::getMachineNode(unsigned Opcode, SDLoc DL, SDVTList VTs,

AllNodes.push_back(N);
#ifndef NDEBUG
VerifyMachineNode(N);
VerifySDNode(N);
#endif
return N;
}
Expand Down

0 comments on commit 3c249a5

Please sign in to comment.