mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-22 18:54:02 +01:00
Make the SCC printing passes use errs() instead of outs(), as the
other printing passes do, and update the documentation accordingly. llvm-svn: 111601
This commit is contained in:
parent
7de4c040fb
commit
b5bb849f1a
@ -649,7 +649,7 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
|
||||
<div class="doc_text">
|
||||
<p>
|
||||
This pass, only available in <code>opt</code>, prints the call graph to
|
||||
standard output in a human-readable form.
|
||||
standard error in a human-readable form.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -660,7 +660,7 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
|
||||
<div class="doc_text">
|
||||
<p>
|
||||
This pass, only available in <code>opt</code>, prints the SCCs of the call
|
||||
graph to standard output in a human-readable form.
|
||||
graph to standard error in a human-readable form.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@ -671,7 +671,7 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print " <p>\n" if !
|
||||
<div class="doc_text">
|
||||
<p>
|
||||
This pass, only available in <code>opt</code>, prints the SCCs of each
|
||||
function CFG to standard output in a human-readable form.
|
||||
function CFG to standard error in a human-readable form.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
|
@ -73,18 +73,18 @@ Z("print-callgraph-sccs", "Print SCCs of the Call Graph");
|
||||
|
||||
bool CFGSCC::runOnFunction(Function &F) {
|
||||
unsigned sccNum = 0;
|
||||
outs() << "SCCs for Function " << F.getName() << " in PostOrder:";
|
||||
errs() << "SCCs for Function " << F.getName() << " in PostOrder:";
|
||||
for (scc_iterator<Function*> SCCI = scc_begin(&F),
|
||||
E = scc_end(&F); SCCI != E; ++SCCI) {
|
||||
std::vector<BasicBlock*> &nextSCC = *SCCI;
|
||||
outs() << "\nSCC #" << ++sccNum << " : ";
|
||||
errs() << "\nSCC #" << ++sccNum << " : ";
|
||||
for (std::vector<BasicBlock*>::const_iterator I = nextSCC.begin(),
|
||||
E = nextSCC.end(); I != E; ++I)
|
||||
outs() << (*I)->getName() << ", ";
|
||||
errs() << (*I)->getName() << ", ";
|
||||
if (nextSCC.size() == 1 && SCCI.hasLoop())
|
||||
outs() << " (Has self-loop).";
|
||||
errs() << " (Has self-loop).";
|
||||
}
|
||||
outs() << "\n";
|
||||
errs() << "\n";
|
||||
|
||||
return true;
|
||||
}
|
||||
@ -94,19 +94,19 @@ bool CFGSCC::runOnFunction(Function &F) {
|
||||
bool CallGraphSCC::runOnModule(Module &M) {
|
||||
CallGraphNode* rootNode = getAnalysis<CallGraph>().getRoot();
|
||||
unsigned sccNum = 0;
|
||||
outs() << "SCCs for the program in PostOrder:";
|
||||
errs() << "SCCs for the program in PostOrder:";
|
||||
for (scc_iterator<CallGraphNode*> SCCI = scc_begin(rootNode),
|
||||
E = scc_end(rootNode); SCCI != E; ++SCCI) {
|
||||
const std::vector<CallGraphNode*> &nextSCC = *SCCI;
|
||||
outs() << "\nSCC #" << ++sccNum << " : ";
|
||||
errs() << "\nSCC #" << ++sccNum << " : ";
|
||||
for (std::vector<CallGraphNode*>::const_iterator I = nextSCC.begin(),
|
||||
E = nextSCC.end(); I != E; ++I)
|
||||
outs() << ((*I)->getFunction() ? (*I)->getFunction()->getNameStr()
|
||||
errs() << ((*I)->getFunction() ? (*I)->getFunction()->getNameStr()
|
||||
: std::string("external node")) << ", ";
|
||||
if (nextSCC.size() == 1 && SCCI.hasLoop())
|
||||
outs() << " (Has self-loop).";
|
||||
errs() << " (Has self-loop).";
|
||||
}
|
||||
outs() << "\n";
|
||||
errs() << "\n";
|
||||
|
||||
return true;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user