diff --git a/llvm/include/llvm/ADT/SCCIterator.h b/llvm/include/llvm/ADT/SCCIterator.h index fef8cdb748442..64ee217eeed61 100644 --- a/llvm/include/llvm/ADT/SCCIterator.h +++ b/llvm/include/llvm/ADT/SCCIterator.h @@ -366,9 +366,9 @@ scc_member_iterator::scc_member_iterator( Queue.pop(); Nodes.push_back(Node); for (auto &Edge : Node->Edges) { - NodeInfoMap[Edge.Target].IncomingMSTEdges.erase(&Edge); - if (MSTEdges.count(&Edge) && - NodeInfoMap[Edge.Target].IncomingMSTEdges.empty()) { + NodeInfo &Info = NodeInfoMap[Edge.Target]; + Info.IncomingMSTEdges.erase(&Edge); + if (MSTEdges.count(&Edge) && Info.IncomingMSTEdges.empty()) { Queue.push(Edge.Target); } }