From: Chandler Carruth Date: Fri, 18 Apr 2014 20:44:16 +0000 (+0000) Subject: [LCG] Fix the bugs that Ben pointed out in code review (and the MSan bot X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=7dcb16865610436131df1247def9f573b3d44e1b;p=oota-llvm.git [LCG] Fix the bugs that Ben pointed out in code review (and the MSan bot caught). Sad that we don't have warnings for these things, but bleh, no idea how to fix that. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@206646 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Analysis/LazyCallGraph.cpp b/lib/Analysis/LazyCallGraph.cpp index 229e2c93ade..a981dcceaad 100644 --- a/lib/Analysis/LazyCallGraph.cpp +++ b/lib/Analysis/LazyCallGraph.cpp @@ -65,7 +65,7 @@ LazyCallGraph::Node::Node(LazyCallGraph &G, Function &F) findCallees(Worklist, Visited, Callees, CalleeSet); } -LazyCallGraph::LazyCallGraph(Module &M) { +LazyCallGraph::LazyCallGraph(Module &M) : NextDFSNumber(0) { for (Function &F : M) if (!F.isDeclaration() && !F.hasLocalLinkage()) if (EntryNodeSet.insert(&F)) @@ -89,16 +89,19 @@ LazyCallGraph::LazyCallGraph(Module &M) { } LazyCallGraph::LazyCallGraph(LazyCallGraph &&G) - : BPA(std::move(G.BPA)), EntryNodes(std::move(G.EntryNodes)), + : BPA(std::move(G.BPA)), NodeMap(std::move(G.NodeMap)), + EntryNodes(std::move(G.EntryNodes)), EntryNodeSet(std::move(G.EntryNodeSet)), SCCBPA(std::move(G.SCCBPA)), SCCMap(std::move(G.SCCMap)), LeafSCCs(std::move(G.LeafSCCs)), DFSStack(std::move(G.DFSStack)), - SCCEntryNodes(std::move(G.SCCEntryNodes)) { + SCCEntryNodes(std::move(G.SCCEntryNodes)), + NextDFSNumber(G.NextDFSNumber) { updateGraphPtrs(); } LazyCallGraph &LazyCallGraph::operator=(LazyCallGraph &&G) { BPA = std::move(G.BPA); + NodeMap = std::move(G.NodeMap); EntryNodes = std::move(G.EntryNodes); EntryNodeSet = std::move(G.EntryNodeSet); SCCBPA = std::move(G.SCCBPA); @@ -106,6 +109,7 @@ LazyCallGraph &LazyCallGraph::operator=(LazyCallGraph &&G) { LeafSCCs = std::move(G.LeafSCCs); DFSStack = std::move(G.DFSStack); SCCEntryNodes = std::move(G.SCCEntryNodes); + NextDFSNumber = G.NextDFSNumber; updateGraphPtrs(); return *this; }