mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-01 03:33:42 +00:00
* Add a bunch of stuff for checking the integrity of the graph
* remove the isNodeDead method git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5474 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
9a64084a84
commit
f9962812d0
@ -180,8 +180,33 @@ public:
|
||||
///
|
||||
void mergeInGraph(DSCallSite &CS, const DSGraph &Graph, unsigned CloneFlags);
|
||||
|
||||
private:
|
||||
bool isNodeDead(DSNode *N);
|
||||
// Methods for checking to make sure graphs are well formed...
|
||||
void AssertNodeInGraph(DSNode *N) const {
|
||||
assert((!N || find(Nodes.begin(), Nodes.end(), N) != Nodes.end()) &&
|
||||
"AssertNodeInGraph: Node is not in graph!");
|
||||
}
|
||||
void AssertNodeContainsGlobal(const DSNode *N, GlobalValue *GV) const {
|
||||
assert(std::find(N->getGlobals().begin(), N->getGlobals().end(), GV) !=
|
||||
N->getGlobals().end() && "Global value not in node!");
|
||||
}
|
||||
|
||||
void AssertCallSiteInGraph(const DSCallSite &CS) const {
|
||||
AssertNodeInGraph(CS.getCallee().getNode());
|
||||
AssertNodeInGraph(CS.getRetVal().getNode());
|
||||
for (unsigned j = 0, e = CS.getNumPtrArgs(); j != e; ++j)
|
||||
AssertNodeInGraph(CS.getPtrArg(j).getNode());
|
||||
}
|
||||
|
||||
void AssertCallNodesInGraph() const {
|
||||
for (unsigned i = 0, e = FunctionCalls.size(); i != e; ++i)
|
||||
AssertCallSiteInGraph(FunctionCalls[i]);
|
||||
}
|
||||
void AssertAuxCallNodesInGraph() const {
|
||||
for (unsigned i = 0, e = AuxFunctionCalls.size(); i != e; ++i)
|
||||
AssertCallSiteInGraph(AuxFunctionCalls[i]);
|
||||
}
|
||||
|
||||
void AssertGraphOK() const;
|
||||
|
||||
public:
|
||||
// removeTriviallyDeadNodes - After the graph has been constructed, this
|
||||
|
@ -180,8 +180,33 @@ public:
|
||||
///
|
||||
void mergeInGraph(DSCallSite &CS, const DSGraph &Graph, unsigned CloneFlags);
|
||||
|
||||
private:
|
||||
bool isNodeDead(DSNode *N);
|
||||
// Methods for checking to make sure graphs are well formed...
|
||||
void AssertNodeInGraph(DSNode *N) const {
|
||||
assert((!N || find(Nodes.begin(), Nodes.end(), N) != Nodes.end()) &&
|
||||
"AssertNodeInGraph: Node is not in graph!");
|
||||
}
|
||||
void AssertNodeContainsGlobal(const DSNode *N, GlobalValue *GV) const {
|
||||
assert(std::find(N->getGlobals().begin(), N->getGlobals().end(), GV) !=
|
||||
N->getGlobals().end() && "Global value not in node!");
|
||||
}
|
||||
|
||||
void AssertCallSiteInGraph(const DSCallSite &CS) const {
|
||||
AssertNodeInGraph(CS.getCallee().getNode());
|
||||
AssertNodeInGraph(CS.getRetVal().getNode());
|
||||
for (unsigned j = 0, e = CS.getNumPtrArgs(); j != e; ++j)
|
||||
AssertNodeInGraph(CS.getPtrArg(j).getNode());
|
||||
}
|
||||
|
||||
void AssertCallNodesInGraph() const {
|
||||
for (unsigned i = 0, e = FunctionCalls.size(); i != e; ++i)
|
||||
AssertCallSiteInGraph(FunctionCalls[i]);
|
||||
}
|
||||
void AssertAuxCallNodesInGraph() const {
|
||||
for (unsigned i = 0, e = AuxFunctionCalls.size(); i != e; ++i)
|
||||
AssertCallSiteInGraph(AuxFunctionCalls[i]);
|
||||
}
|
||||
|
||||
void AssertGraphOK() const;
|
||||
|
||||
public:
|
||||
// removeTriviallyDeadNodes - After the graph has been constructed, this
|
||||
|
Loading…
x
Reference in New Issue
Block a user