mirror of
https://github.com/RPCSX/llvm.git
synced 2024-11-29 06:30:39 +00:00
[LCG] We don't actually need a set in each SCC to track the nodes. We
can use the node -> SCC mapping in the top-level graph to test this on the rare occasions we need it. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@207090 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
25209ab486
commit
9e65c46345
@ -217,7 +217,6 @@ public:
|
||||
|
||||
SmallSetVector<SCC *, 1> ParentSCCs;
|
||||
SmallVector<Node *, 1> Nodes;
|
||||
SmallPtrSet<Function *, 1> NodeSet;
|
||||
|
||||
SCC() {}
|
||||
|
||||
|
@ -282,7 +282,6 @@ LazyCallGraph::SCC::removeInternalEdge(LazyCallGraph &G, Node &Caller,
|
||||
// Replace this SCC with the NewNodes we collected above.
|
||||
// FIXME: Simplify this when the SCC's datastructure is just a list.
|
||||
Nodes.clear();
|
||||
NodeSet.clear();
|
||||
|
||||
// Now we need to reconnect the current SCC to the graph.
|
||||
bool IsLeafSCC = true;
|
||||
@ -290,7 +289,6 @@ LazyCallGraph::SCC::removeInternalEdge(LazyCallGraph &G, Node &Caller,
|
||||
N->DFSNumber = -1;
|
||||
N->LowLink = -1;
|
||||
Nodes.push_back(N);
|
||||
NodeSet.insert(&N->getFunction());
|
||||
for (Node &ChildN : *N) {
|
||||
if (NewNodes.count(&ChildN))
|
||||
continue;
|
||||
@ -393,10 +391,6 @@ LazyCallGraph::SCC *LazyCallGraph::formSCCFromDFSStack(
|
||||
|
||||
SCCMap[SCCN] = NewSCC;
|
||||
NewSCC->Nodes.push_back(SCCN);
|
||||
bool Inserted =
|
||||
NewSCC->NodeSet.insert(&SCCN->getFunction());
|
||||
(void)Inserted;
|
||||
assert(Inserted && "Cannot have duplicates in the DFSStack!");
|
||||
}
|
||||
DFSStack.erase(SCCBegin, DFSStack.end());
|
||||
|
||||
@ -406,7 +400,7 @@ LazyCallGraph::SCC *LazyCallGraph::formSCCFromDFSStack(
|
||||
bool IsLeafSCC = true;
|
||||
for (Node *SCCN : NewSCC->Nodes)
|
||||
for (Node &SCCChildN : *SCCN) {
|
||||
if (NewSCC->NodeSet.count(&SCCChildN.getFunction()))
|
||||
if (SCCMap.lookup(&SCCChildN) == NewSCC)
|
||||
continue;
|
||||
SCC &ChildSCC = *SCCMap.lookup(&SCCChildN);
|
||||
ChildSCC.ParentSCCs.insert(NewSCC);
|
||||
|
Loading…
Reference in New Issue
Block a user