diff options
author | Chandler Carruth <chandlerc@gmail.com> | 2014-04-18 20:44:16 +0000 |
---|---|---|
committer | Chandler Carruth <chandlerc@gmail.com> | 2014-04-18 20:44:16 +0000 |
commit | 7dcb16865610436131df1247def9f573b3d44e1b (patch) | |
tree | f271dab6e274b046fff768a56d0270c9d7d1ff1f | |
parent | abc5eea499e24317bfaaafa6e57b929a5cb1d2b8 (diff) | |
download | llvm-7dcb16865610436131df1247def9f573b3d44e1b.tar.gz llvm-7dcb16865610436131df1247def9f573b3d44e1b.tar.bz2 llvm-7dcb16865610436131df1247def9f573b3d44e1b.tar.xz |
[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
-rw-r--r-- | lib/Analysis/LazyCallGraph.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/Analysis/LazyCallGraph.cpp b/lib/Analysis/LazyCallGraph.cpp index 229e2c93ad..a981dcceaa 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; } |