mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-01-31 12:41:49 +01:00
[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. llvm-svn: 195800
This commit is contained in:
parent
3ceb67b21b
commit
af3f7b0a67
@ -142,11 +142,6 @@ public:
|
|||||||
|
|
||||||
CallGraphNode *getCallsExternalNode() const { return CallsExternalNode; }
|
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
|
// Functions to keep a call graph up to date with a function that has been
|
||||||
// modified.
|
// modified.
|
||||||
@ -342,11 +337,6 @@ public:
|
|||||||
return G->getCallsExternalNode();
|
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
|
// Functions to keep a call graph up to date with a function that has been
|
||||||
// modified.
|
// modified.
|
||||||
|
@ -92,11 +92,11 @@ bool CFGSCC::runOnFunction(Function &F) {
|
|||||||
|
|
||||||
// run - Print out SCCs in the call graph for the specified module.
|
// run - Print out SCCs in the call graph for the specified module.
|
||||||
bool CallGraphSCC::runOnModule(Module &M) {
|
bool CallGraphSCC::runOnModule(Module &M) {
|
||||||
CallGraphNode *rootNode = getAnalysis<CallGraphWrapperPass>().getRoot();
|
CallGraph &CG = getAnalysis<CallGraphWrapperPass>().getCallGraph();
|
||||||
unsigned sccNum = 0;
|
unsigned sccNum = 0;
|
||||||
errs() << "SCCs for the program in PostOrder:";
|
errs() << "SCCs for the program in PostOrder:";
|
||||||
for (scc_iterator<CallGraphNode*> SCCI = scc_begin(rootNode),
|
for (scc_iterator<CallGraph*> SCCI = scc_begin(&CG),
|
||||||
E = scc_end(rootNode); SCCI != E; ++SCCI) {
|
E = scc_end(&CG); SCCI != E; ++SCCI) {
|
||||||
const std::vector<CallGraphNode*> &nextSCC = *SCCI;
|
const std::vector<CallGraphNode*> &nextSCC = *SCCI;
|
||||||
errs() << "\nSCC #" << ++sccNum << " : ";
|
errs() << "\nSCC #" << ++sccNum << " : ";
|
||||||
for (std::vector<CallGraphNode*>::const_iterator I = nextSCC.begin(),
|
for (std::vector<CallGraphNode*>::const_iterator I = nextSCC.begin(),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user