Make sure to print out the call nodes as well

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4203 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2002-10-16 20:16:16 +00:00
parent 7be17dd233
commit 962ee45fe6

View File

@ -210,11 +210,24 @@ struct DOTGraphTraits<DSGraph*> : public DefaultDOTGraphTraits {
GW.emitEdge((void*)1, -1, G->getRetNode().getNode(),
RetEdgeDest, "arrowtail=tee,color=gray63");
}
// Output all of the call nodes...
const std::vector<std::vector<DSNodeHandle> > &FCs = G->getFunctionCalls();
for (unsigned i = 0, e = FCs.size(); i != e; ++i) {
const std::vector<DSNodeHandle> &Call = FCs[i];
GW.emitSimpleNode(&Call, "shape=record", "call", Call.size());
for (unsigned j = 0, e = Call.size(); j != e; ++j)
if (Call[j].getNode()) {
int EdgeDest = Call[j].getOffset();
if (EdgeDest == 0) EdgeDest = -1;
GW.emitEdge(&Call, j, Call[j].getNode(), EdgeDest, "color=gray63");
}
}
}
};
void DSGraph::writeGraphToFile(std::ostream &O, const string &GraphName) {
string Filename = GraphName + ".dot";
O << "Writing '" << Filename << "'...";