[LLVMdev] Possible SelectionDAG Bug

David Greene dag at cray.com
Fri Feb 26 07:55:32 PST 2010


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




More information about the llvm-dev mailing list