Add new method

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7007 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2003-06-30 05:57:30 +00:00
parent 2b4c8dfdd5
commit a9d6566e36
3 changed files with 25 additions and 0 deletions

View File

@ -80,6 +80,10 @@ public:
const std::vector<DSNode*> &getNodes() const { return Nodes; }
std::vector<DSNode*> &getNodes() { return Nodes; }
/// getFunctionNames - Return a space separated list of the name of the
/// functions in this graph (if any)
std::string getFunctionNames() const;
/// addNode - Add a new node to the graph.
///
void addNode(DSNode *N) { Nodes.push_back(N); }

View File

@ -80,6 +80,10 @@ public:
const std::vector<DSNode*> &getNodes() const { return Nodes; }
std::vector<DSNode*> &getNodes() { return Nodes; }
/// getFunctionNames - Return a space separated list of the name of the
/// functions in this graph (if any)
std::string getFunctionNames() const;
/// addNode - Add a new node to the graph.
///
void addNode(DSNode *N) { Nodes.push_back(N); }

View File

@ -703,6 +703,23 @@ Function &DSCallSite::getCaller() const {
// DSGraph Implementation
//===----------------------------------------------------------------------===//
/// getFunctionNames - Return a space separated list of the name of the
/// functions in this graph (if any)
std::string DSGraph::getFunctionNames() const {
switch (getReturnNodes().size()) {
case 0: return "Globals graph";
case 1: return getReturnNodes().begin()->first->getName();
default:
std::string Return;
for (DSGraph::ReturnNodesTy::const_iterator I = getReturnNodes().begin();
I != getReturnNodes().end(); ++I)
Return += I->first->getName() + " ";
Return.erase(Return.end()-1, Return.end()); // Remove last space character
return Return;
}
}
DSGraph::DSGraph(const DSGraph &G) : GlobalsGraph(0) {
PrintAuxCalls = false;
NodeMapTy NodeMap;