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 /lib | |
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
Diffstat (limited to 'lib')
-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; } |