In the continuing quest to try to track down problems we're seeing in
SelectionDAG, I added the following assert
toSelectionDAG::ReplaceAllUsesOfValuesWith:
// Read up all the uses and make records of them. This helps
// processing new uses that are introduced during the
// replacement process.
SmallVector<UseMemo, 4> Uses;
for (unsigned i = 0; i != Num; ++i) {
unsigned FromResNo = From[i].getResNo();
SDNode *FromNode = From[i].getNode();
#ifndef NDEBUG
assert(FromNode->getOpcode() != ISD::DELETED_NODE && "FromNode deleted!");
#endif
This triggers all over the place in the testbase. Is it expected that we
could get a deleted node here? The following code appears to assume
FromNode is a valid SDNode.
-Dave