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:
Dan Gohman 2010-08-20 01:03:44 +00:00
parent d0ef0eff61
commit d3ee4238a5
2 changed files with 13 additions and 13 deletions

View File

@ -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>

View File

@ -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;
}