Rationalize the names of passes that print information:
authorDuncan Sands <baldrick@free.fr>
Tue, 23 Sep 2008 12:47:39 +0000 (12:47 +0000)
committerDuncan Sands <baldrick@free.fr>
Tue, 23 Sep 2008 12:47:39 +0000 (12:47 +0000)
    -callgraph => print-callgraph
    -callscc   => print-callgraph-sccs
    -cfgscc    => print-cfg-sccs
    -externalfnconstants => print-externalfnconstants
    -print               => print-function
    -print-alias-sets (no change)
    -print-callgraph     => dot-callgraph
    -print-cfg           => dot-cfg
    -print-cfg-only      => dot-cfg-only
    -print-dom-info (no change)
    -printm              => print-module
    -printusedtypes      => print-used-types

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56487 91177308-0d34-0410-b5e6-96231b3b80d8

14 files changed:
docs/Passes.html
lib/Analysis/CFGPrinter.cpp
lib/Analysis/IPA/FindUsedTypes.cpp
lib/VMCore/AsmWriter.cpp
test/Analysis/CallGraph/2008-09-09-DirectCall.ll
test/Analysis/CallGraph/2008-09-09-UsedByGlobal.ll
test/Other/2002-01-31-CallGraph.ll
test/Other/2007-06-05-PassID.ll
test/Transforms/BlockPlacement/basictest.ll
test/Transforms/Inline/basictest.ll
test/Transforms/PruneEH/2008-09-05-CGUpdate.ll
tools/opt/AnalysisWrappers.cpp
tools/opt/GraphPrinters.cpp
tools/opt/PrintSCC.cpp

index bb1a64bd978061edb7fbd999aac2eabf56a76883..22a73516cb7ded02b6b2948592afd3fabc896073 100644 (file)
@@ -79,15 +79,14 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "  <p>\n" if !
 <tr><td><a href="#basicaa">-basicaa</a></td><td>Basic Alias Analysis (default AA impl)</td></tr>
 <tr><td><a href="#basiccg">-basiccg</a></td><td>Basic CallGraph Construction</td></tr>
 <tr><td><a href="#basicvn">-basicvn</a></td><td>Basic Value Numbering (default GVN impl)</td></tr>
-<tr><td><a href="#callgraph">-callgraph</a></td><td>Print a call graph</td></tr>
-<tr><td><a href="#callscc">-callscc</a></td><td>Print SCCs of the Call Graph</td></tr>
-<tr><td><a href="#cfgscc">-cfgscc</a></td><td>Print SCCs of each function CFG</td></tr>
 <tr><td><a href="#codegenprepare">-codegenprepare</a></td><td>Optimize for code generation</td></tr>
 <tr><td><a href="#count-aa">-count-aa</a></td><td>Count Alias Analysis Query Responses</td></tr>
 <tr><td><a href="#debug-aa">-debug-aa</a></td><td>AA use debugger</td></tr>
 <tr><td><a href="#domfrontier">-domfrontier</a></td><td>Dominance Frontier Construction</td></tr>
 <tr><td><a href="#domtree">-domtree</a></td><td>Dominator Tree Construction</td></tr>
-<tr><td><a href="#externalfnconstants">-externalfnconstants</a></td><td>Print external fn callsites passed constants</td></tr>
+<tr><td><a href="#dot-callgraph">-dot-callgraph</a></td><td>Print Call Graph to 'dot' file</td></tr>
+<tr><td><a href="#dot-cfg">-dot-cfg</a></td><td>Print CFG of function to 'dot' file</td></tr>
+<tr><td><a href="#dot-cfg-only">-dot-cfg-only</a></td><td>Print CFG of function to 'dot' file (with no function bodies)</td></tr>
 <tr><td><a href="#globalsmodref-aa">-globalsmodref-aa</a></td><td>Simple mod/ref analysis for globals</td></tr>
 <tr><td><a href="#instcount">-instcount</a></td><td>Counts the various types of Instructions</td></tr>
 <tr><td><a href="#intervals">-intervals</a></td><td>Interval Partition Construction</td></tr>
@@ -98,13 +97,14 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "  <p>\n" if !
 <tr><td><a href="#no-profile">-no-profile</a></td><td>No Profile Information</td></tr>
 <tr><td><a href="#postdomfrontier">-postdomfrontier</a></td><td>Post-Dominance Frontier Construction</td></tr>
 <tr><td><a href="#postdomtree">-postdomtree</a></td><td>Post-Dominator Tree Construction</td></tr>
-<tr><td><a href="#print">-print</a></td><td>Print function to stderr</td></tr>
 <tr><td><a href="#print-alias-sets">-print-alias-sets</a></td><td>Alias Set Printer</td></tr>
-<tr><td><a href="#print-callgraph">-print-callgraph</a></td><td>Print Call Graph to 'dot' file</td></tr>
-<tr><td><a href="#print-cfg">-print-cfg</a></td><td>Print CFG of function to 'dot' file</td></tr>
-<tr><td><a href="#print-cfg-only">-print-cfg-only</a></td><td>Print CFG of function to 'dot' file (with no function bodies)</td></tr>
-<tr><td><a href="#printm">-printm</a></td><td>Print module to stderr</td></tr>
-<tr><td><a href="#printusedtypes">-printusedtypes</a></td><td>Find Used Types</td></tr>
+<tr><td><a href="#print-callgraph">-print-callgraph</a></td><td>Print a call graph</td></tr>
+<tr><td><a href="#print-callgraph-sccs">-print-callgraph-sccs</a></td><td>Print SCCs of the Call Graph</td></tr>
+<tr><td><a href="#print-cfg-sccs">-print-cfg-sccs</a></td><td>Print SCCs of each function CFG</td></tr>
+<tr><td><a href="#print-externalfnconstants">-print-externalfnconstants</a></td><td>Print external fn callsites passed constants</td></tr>
+<tr><td><a href="#print-function">-print-function</a></td><td>Print function to stderr</td></tr>
+<tr><td><a href="#print-module">-print-module</a></td><td>Print module to stderr</td></tr>
+<tr><td><a href="#print-used-types">-print-used-types</a></td><td>Find Used Types</td></tr>
 <tr><td><a href="#profile-loader">-profile-loader</a></td><td>Load profile information from llvmprof.out</td></tr>
 <tr><td><a href="#scalar-evolution">-scalar-evolution</a></td><td>Scalar Evolution Analysis</td></tr>
 <tr><td><a href="#targetdata">-targetdata</a></td><td>Target Data Layout</td></tr>
@@ -315,39 +315,6 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "  <p>\n" if !
   </p>
 </div>
 
-<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
-  <a name="callgraph">Print a call graph</a>
-</div>
-<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.
-  </p>
-</div>
-
-<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
-  <a name="callscc">Print SCCs of the Call Graph</a>
-</div>
-<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.
-  </p>
-</div>
-
-<!-------------------------------------------------------------------------- -->
-<div class="doc_subsection">
-  <a name="cfgscc">Print SCCs of each function CFG</a>
-</div>
-<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.
-  </p>
-</div>
-
 <!-------------------------------------------------------------------------- -->
 <div class="doc_subsection">
   <a name="codegenprepare">Optimize for code generation</a>
@@ -412,14 +379,38 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "  <p>\n" if !
 
 <!-------------------------------------------------------------------------- -->
 <div class="doc_subsection">
-  <a name="externalfnconstants">Print external fn callsites passed constants</a>
+  <a name="dot-callgraph">Print Call Graph to 'dot' file</a>
 </div>
 <div class="doc_text">
   <p>
-  This pass, only available in <code>opt</code>, prints out call sites to
-  external functions that are called with constant arguments.  This can be
-  useful when looking for standard library functions we should constant fold
-  or handle in alias analyses.
+  This pass, only available in <code>opt</code>, prints the call graph into a
+  <code>.dot</code> graph.  This graph can then be processed with the "dot" tool
+  to convert it to postscript or some other suitable format.
+  </p>
+</div>
+
+<!-------------------------------------------------------------------------- -->
+<div class="doc_subsection">
+  <a name="dot-cfg">Print CFG of function to 'dot' file</a>
+</div>
+<div class="doc_text">
+  <p>
+  This pass, only available in <code>opt</code>, prints the control flow graph
+  into a <code>.dot</code> graph.  This graph can then be processed with the
+  "dot" tool to convert it to postscript or some other suitable format.
+  </p>
+</div>
+
+<!-------------------------------------------------------------------------- -->
+<div class="doc_subsection">
+  <a name="dot-cfg-only">Print CFG of function to 'dot' file (with no function bodies)</a>
+</div>
+<div class="doc_text">
+  <p>
+  This pass, only available in <code>opt</code>, prints the control flow graph
+  into a <code>.dot</code> graph, omitting the function bodies.  This graph can
+  then be processed with the "dot" tool to convert it to postscript or some
+  other suitable format.
   </p>
 </div>
 
@@ -557,64 +548,73 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "  <p>\n" if !
 
 <!-------------------------------------------------------------------------- -->
 <div class="doc_subsection">
-  <a name="print">Print function to stderr</a>
+  <a name="print-alias-sets">Alias Set Printer</a>
+</div>
+<div class="doc_text">
+  <p>Yet to be written.</p>
+</div>
+
+<!-------------------------------------------------------------------------- -->
+<div class="doc_subsection">
+  <a name="print-callgraph">Print a call graph</a>
 </div>
 <div class="doc_text">
   <p>
-  The <code>PrintFunctionPass</code> class is designed to be pipelined with
-  other <code>FunctionPass</code>es, and prints out the functions of the module
-  as they are processed.
+  This pass, only available in <code>opt</code>, prints the call graph to
+  standard output in a human-readable form.
   </p>
 </div>
 
 <!-------------------------------------------------------------------------- -->
 <div class="doc_subsection">
-  <a name="print-alias-sets">Alias Set Printer</a>
+  <a name="print-callgraph-sccs">Print SCCs of the Call Graph</a>
 </div>
 <div class="doc_text">
-  <p>Yet to be written.</p>
+  <p>
+  This pass, only available in <code>opt</code>, prints the SCCs of the call
+  graph to standard output in a human-readable form.
+  </p>
 </div>
 
 <!-------------------------------------------------------------------------- -->
 <div class="doc_subsection">
-  <a name="print-callgraph">Print Call Graph to 'dot' file</a>
+  <a name="print-cfg-sccs">Print SCCs of each function CFG</a>
 </div>
 <div class="doc_text">
   <p>
-  This pass, only available in <code>opt</code>, prints the call graph into a
-  <code>.dot</code> graph.  This graph can then be processed with the "dot" tool
-  to convert it to postscript or some other suitable format.
+  This pass, only available in <code>opt</code>, prints the SCCs of each
+  function CFG to standard output in a human-readable form.
   </p>
 </div>
 
 <!-------------------------------------------------------------------------- -->
 <div class="doc_subsection">
-  <a name="print-cfg">Print CFG of function to 'dot' file</a>
+  <a name="print-externalfnconstants">Print external fn callsites passed constants</a>
 </div>
 <div class="doc_text">
   <p>
-  This pass, only available in <code>opt</code>, prints the control flow graph
-  into a <code>.dot</code> graph.  This graph can then be processed with the
-  "dot" tool to convert it to postscript or some other suitable format.
+  This pass, only available in <code>opt</code>, prints out call sites to
+  external functions that are called with constant arguments.  This can be
+  useful when looking for standard library functions we should constant fold
+  or handle in alias analyses.
   </p>
 </div>
 
 <!-------------------------------------------------------------------------- -->
 <div class="doc_subsection">
-  <a name="print-cfg-only">Print CFG of function to 'dot' file (with no function bodies)</a>
+  <a name="print-function">Print function to stderr</a>
 </div>
 <div class="doc_text">
   <p>
-  This pass, only available in <code>opt</code>, prints the control flow graph
-  into a <code>.dot</code> graph, omitting the function bodies.  This graph can
-  then be processed with the "dot" tool to convert it to postscript or some
-  other suitable format.
+  The <code>PrintFunctionPass</code> class is designed to be pipelined with
+  other <code>FunctionPass</code>es, and prints out the functions of the module
+  as they are processed.
   </p>
 </div>
 
 <!-------------------------------------------------------------------------- -->
 <div class="doc_subsection">
-  <a name="printm">Print module to stderr</a>
+  <a name="print-module">Print module to stderr</a>
 </div>
 <div class="doc_text">
   <p>
@@ -624,7 +624,7 @@ perl -e '$/ = undef; for (split(/\n/, <>)) { s:^ *///? ?::; print "  <p>\n" if !
 
 <!-------------------------------------------------------------------------- -->
 <div class="doc_subsection">
-  <a name="printusedtypes">Find Used Types</a>
+  <a name="print-used-types">Find Used Types</a>
 </div>
 <div class="doc_text">
   <p>
index 46d3930bd6764baccce2d3c612b121bca012c5a7..143220ce38800544b29cbdd92b20dc8dea643355 100644 (file)
@@ -7,7 +7,7 @@
 //
 //===----------------------------------------------------------------------===//
 //
-// This file defines a '-print-cfg' analysis pass, which emits the
+// This file defines a '-dot-cfg' analysis pass, which emits the
 // cfg.<fnname>.dot file for each function in the program, with a graph of the
 // CFG for that function.
 //
@@ -165,7 +165,7 @@ namespace {
 
 char CFGPrinter::ID = 0;
 static RegisterPass<CFGPrinter>
-P1("print-cfg", "Print CFG of function to 'dot' file", false, true);
+P1("dot-cfg", "Print CFG of function to 'dot' file", false, true);
 
 namespace {
   struct VISIBILITY_HIDDEN CFGOnlyPrinter : public CFGPrinter {
@@ -188,7 +188,7 @@ namespace {
 
 char CFGOnlyPrinter::ID = 0;
 static RegisterPass<CFGOnlyPrinter>
-P2("print-cfg-only",
+P2("dot-cfg-only",
    "Print CFG of function to 'dot' file (with no function bodies)", false, true);
 
 /// viewCFG - This function is meant for use from the debugger.  You can just
index c3b08debe6a50afc0590dc1a87bcc3c13ea3092e..88a180ae5213a6f22dd7361401d11f3b60a84370 100644 (file)
@@ -23,7 +23,7 @@ using namespace llvm;
 
 char FindUsedTypes::ID = 0;
 static RegisterPass<FindUsedTypes>
-X("printusedtypes", "Find Used Types", false, true);
+X("print-used-types", "Find Used Types", false, true);
 
 // IncorporateType - Incorporate one type and all of its subtypes into the
 // collection of used types.
index 1088236c1023661ffd1e6035bf1aa564f8e931ed..ab8b59bc275f2f1684d38c501c7a988dc9d657c8 100644 (file)
@@ -41,10 +41,10 @@ AssemblyAnnotationWriter::~AssemblyAnnotationWriter() {}
 
 char PrintModulePass::ID = 0;
 static RegisterPass<PrintModulePass>
-X("printm", "Print module to stderr");
+X("print-module", "Print module to stderr");
 char PrintFunctionPass::ID = 0;
 static RegisterPass<PrintFunctionPass>
-Y("print","Print function to stderr");
+Y("print-function","Print function to stderr");
 
 
 //===----------------------------------------------------------------------===//
index a3afc379c5a6880204f4bc578680d9b752c47116..456ffa25d7bfdd1142468ef27917453e822146ee 100644 (file)
@@ -1,4 +1,5 @@
-; RUN: llvm-as < %s | opt -callgraph -disable-output |& grep {Calls function 'callee'} | count 2
+; RUN: llvm-as < %s | opt -print-callgraph -disable-output |& \
+; RUN:   grep {Calls function 'callee'} | count 2
 
 define internal void @callee(...) {
 entry:
index 8e6e5d2839433aee960e9dc0526f96f7eee8bea7..ffc27bbe43d1a8dfab08dce246b634c41447dfde 100644 (file)
@@ -1,4 +1,5 @@
-; RUN: llvm-as < %s | opt -callgraph -disable-output |& grep {Calls function}
+; RUN: llvm-as < %s | opt -print-callgraph -disable-output |& \
+; RUN:   grep {Calls function}
 
 @a = global void ()* @f                ; <void ()**> [#uses=0]
 
index da638d8394c475d8e23a6d95135532bfb0a76e35..bb4c23e8779c1f718f675f1f47c7790f1faffe89 100644 (file)
@@ -1,6 +1,6 @@
 ;  Call graph construction crash: Not handling indirect calls right
 ;
-; RUN: llvm-as < %s | opt -analyze -callgraph >& /dev/null
+; RUN: llvm-as < %s | opt -analyze -print-callgraph >& /dev/null
 ;
 
         %FunTy = type i32 (i32)
index 81e9ef6f791becae2558053387ade251031cea0a..b6bba36c871516c73aa463be5dba0918cdf89c71 100644 (file)
@@ -1,4 +1,4 @@
-;RUN: llvm-as < %s | opt -analyze -print-cfg-only -disable-output 2>/dev/null
+;RUN: llvm-as < %s | opt -analyze -dot-cfg-only -disable-output 2>/dev/null
 ;PR 1497
 
 define void @foo() {
index e7755cf6ebe58d295689aefd375c3d1d1e8fe1db..4eec23e49cf114dea53ebab1e5d5f8e2ccb3df72 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -block-placement -disable-output -print 2> /dev/null
+; RUN: llvm-as < %s | opt -block-placement -disable-output -print-function 2> /dev/null
 
 define i32 @test() {
         br i1 true, label %X, label %Y
index 59cacb619316b5892b5460c14e48283eb438a2c1..d954238dabe4331a0cdcf1a2d195ef51a6acabd0 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | opt -inline -disable-output -print 2> /dev/null
+; RUN: llvm-as < %s | opt -inline -disable-output -print-function 2> /dev/null
 
 define i32 @func(i32 %i) {
         ret i32 %i
index 828be7ac34dc3a5a1b80c9a4d77e6a45285b52d7..6e847fcfdc9461020a817fea764fde91ea4f4e80 100644 (file)
@@ -1,5 +1,6 @@
-; RUN: llvm-as < %s | opt -prune-eh -inline -callgraph -disable-output |& \
-; RUN:   grep {Calls.*ce3806g__fxio__put__put_int64__4.1339} | count 2
+; RUN: llvm-as < %s | opt -prune-eh -inline -print-callgraph \
+; RUN:   -disable-output |& \
+; RUN:     grep {Calls.*ce3806g__fxio__put__put_int64__4.1339} | count 2
        %struct.FRAME.ce3806g = type { %struct.string___XUB, %struct.string___XUB, %struct.string___XUB, %struct.string___XUB }
        %struct.FRAME.ce3806g__fxio__put__4 = type { i32, i32, i32, %struct.system__file_control_block__pstring*, i32, i32, i8 }
        %struct.RETURN = type { i8, i32 }
index 454e73872ea60f4382171d22eb477a203240c136..94cca50d63d1f310c10b6ae95ad9c4ac2299bbd0 100644 (file)
@@ -65,7 +65,8 @@ namespace {
 
   char ExternalFunctionsPassedConstants::ID = 0;
   RegisterPass<ExternalFunctionsPassedConstants>
-  P1("externalfnconstants", "Print external fn callsites passed constants");
+  P1("print-externalfnconstants",
+     "Print external fn callsites passed constants");
 
   struct CallGraphPrinter : public ModulePass {
     static char ID; // Pass ID, replacement for typeid
@@ -83,5 +84,5 @@ namespace {
 
   char CallGraphPrinter::ID = 0;
   RegisterPass<CallGraphPrinter>
-    P2("callgraph", "Print a call graph");
+    P2("print-callgraph", "Print a call graph");
 }
index 7f1199a1e3d66e2c4dd523d202e2b6903d599427..31515c89931633d13937ffe29f4298eb2e539c02 100644 (file)
@@ -79,7 +79,7 @@ namespace {
   };
 
   char CallGraphPrinter::ID = 0;
-  RegisterPass<CallGraphPrinter> P2("print-callgraph",
+  RegisterPass<CallGraphPrinter> P2("dot-callgraph",
                                     "Print Call Graph to 'dot' file");
 }
 
index 0b9c12ff4bf3b29b8add0e6b4134f8fd76bddca5..f314baaba937c086f9b09a06205e3fcef07c50f1 100644 (file)
 //
 // (1) As a reference for how to use the scc_iterator.
 // (2) To print out the SCCs for a CFG or a CallGraph:
-//       analyze -cfgscc            to print the SCCs in each CFG of a module.
-//       analyze -cfgscc -stats     to print the #SCCs and the maximum SCC size.
-//       analyze -cfgscc -debug > /dev/null to watch the algorithm in action.
+//       analyze -print-cfg-sccs            to print the SCCs in each CFG of a module.
+//       analyze -print-cfg-sccs -stats     to print the #SCCs and the maximum SCC size.
+//       analyze -print-cfg-sccs -debug > /dev/null to watch the algorithm in action.
 //
 //     and similarly:
-//       analyze -callscc [-stats] [-debug] to print SCCs in the CallGraph
+//       analyze -print-callgraph-sccs [-stats] [-debug] to print SCCs in the CallGraph
 //
 // (3) To test the scc_iterator.
 //
@@ -64,11 +64,11 @@ namespace {
 
   char CFGSCC::ID = 0;
   RegisterPass<CFGSCC>
-  Y("cfgscc", "Print SCCs of each function CFG");
+  Y("print-cfg-sccs", "Print SCCs of each function CFG");
 
   char CallGraphSCC::ID = 0;
   RegisterPass<CallGraphSCC>
-  Z("callscc", "Print SCCs of the Call Graph");
+  Z("print-callgraph-sccs", "Print SCCs of the Call Graph");
 }
 
 bool CFGSCC::runOnFunction(Function &F) {