summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChandler Carruth <chandlerc@gmail.com>2013-11-27 01:32:17 +0000
committerChandler Carruth <chandlerc@gmail.com>2013-11-27 01:32:17 +0000
commitdf13080481502547340a60e9539cc041ef84e41a (patch)
treef839996fc91da82ce12367b12e516b4da0dc5762
parent823c9c725d23f7c57e82b004ad8a011dd6dc6603 (diff)
downloadllvm-df13080481502547340a60e9539cc041ef84e41a.tar.gz
llvm-df13080481502547340a60e9539cc041ef84e41a.tar.bz2
llvm-df13080481502547340a60e9539cc041ef84e41a.tar.xz
[PM] Remove the underspecified 'getRoot' method from CallGraph. It's
only user was an ancient SCC printing bit of the opt tool which really should be walking the call graph the same way the CGSCC pass manager does. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195800 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/llvm/Analysis/CallGraph.h10
-rw-r--r--tools/opt/PrintSCC.cpp6
2 files changed, 3 insertions, 13 deletions
diff --git a/include/llvm/Analysis/CallGraph.h b/include/llvm/Analysis/CallGraph.h
index 803c0dfaab..e80501555b 100644
--- a/include/llvm/Analysis/CallGraph.h
+++ b/include/llvm/Analysis/CallGraph.h
@@ -142,11 +142,6 @@ public:
CallGraphNode *getCallsExternalNode() const { return CallsExternalNode; }
- /// \brief Returns the root/main method in the module, or some other root
- /// node, such as the externalcallingnode.
- CallGraphNode *getRoot() { return Root; }
- const CallGraphNode *getRoot() const { return Root; }
-
//===---------------------------------------------------------------------
// Functions to keep a call graph up to date with a function that has been
// modified.
@@ -342,11 +337,6 @@ public:
return G->getCallsExternalNode();
}
- /// \brief Returns the root/main method in the module, or some other root
- /// node, such as the externalcallingnode.
- CallGraphNode *getRoot() { return G->getRoot(); }
- const CallGraphNode *getRoot() const { return G->getRoot(); }
-
//===---------------------------------------------------------------------
// Functions to keep a call graph up to date with a function that has been
// modified.
diff --git a/tools/opt/PrintSCC.cpp b/tools/opt/PrintSCC.cpp
index 348b5f21ce..9322cbceec 100644
--- a/tools/opt/PrintSCC.cpp
+++ b/tools/opt/PrintSCC.cpp
@@ -92,11 +92,11 @@ bool CFGSCC::runOnFunction(Function &F) {
// run - Print out SCCs in the call graph for the specified module.
bool CallGraphSCC::runOnModule(Module &M) {
- CallGraphNode *rootNode = getAnalysis<CallGraphWrapperPass>().getRoot();
+ CallGraph &CG = getAnalysis<CallGraphWrapperPass>().getCallGraph();
unsigned sccNum = 0;
errs() << "SCCs for the program in PostOrder:";
- for (scc_iterator<CallGraphNode*> SCCI = scc_begin(rootNode),
- E = scc_end(rootNode); SCCI != E; ++SCCI) {
+ for (scc_iterator<CallGraph*> SCCI = scc_begin(&CG),
+ E = scc_end(&CG); SCCI != E; ++SCCI) {
const std::vector<CallGraphNode*> &nextSCC = *SCCI;
errs() << "\nSCC #" << ++sccNum << " : ";
for (std::vector<CallGraphNode*>::const_iterator I = nextSCC.begin(),