diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp --- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -1072,10 +1072,10 @@ SDNode *N = Nodes.pop_back_val(); for (auto *U : N->uses()) { auto UId = U->getNodeId(); - if (UId > 0) { - InvalidateNodeId(U); - Nodes.push_back(U); - } + if (UId <= 0) + continue; + InvalidateNodeId(U); + Nodes.push_back(U); } } }