Author: gordon
Date: Thu Oct 25 03:46:12 2007
New Revision: 43334

URL: http://llvm.org/viewvc/llvm-project?rev=43334&view=rev
Log:
Bringing Passes.html structurally up-to-date, and enabling
semi-automated maintenance.

Modified:
    llvm/trunk/docs/Passes.html

Modified: llvm/trunk/docs/Passes.html
URL: 
http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/Passes.html?rev=43334&r1=43333&r2=43334&view=diff

==============================================================================
--- llvm/trunk/docs/Passes.html (original)
+++ llvm/trunk/docs/Passes.html Thu Oct 25 03:46:12 2007
@@ -7,6 +7,34 @@
 </head>
 <body>
 
+<!--
+
+If Passes.html is up to date, the following "one-liner" should print
+an empty diff.
+
+egrep -e '^<tr><td><a href="#.*">-.*</a></td><td>.*</td></tr>$' \
+      -e '^  <a name=".*">.*</a>$' < Passes.html >html; \
+perl >help <<'EOT' && diff -u help html; rm -f help html
+open HTML, "<Passes.html" or die "open: Passes.html: $!\n";
+while (<HTML>) {
+  m:^<tr><td><a href="#(.*)">-.*</a></td><td>.*</td></tr>$: or next;
+  $order{$1} = sprintf("%03d", 1 + int %order);
+}
+open HELP, "../Release/bin/opt --help|" or die "open: opt --help: $!\n";
+while (<HELP>) {
+  m:^    -([^ ]+) +- (.*)$: or next;
+  my $o = $order{$1};
+  $o = "000" unless defined $o;
+  push @x, "$o<tr><td><a href=\"#$1\">-$1</a></td><td>$2</td></tr>\n";
+  push @y, "$o  <a name=\"$1\">$2</a>\n";
+}
[EMAIL PROTECTED] = map { s/^\d\d\d//; $_ } sort @x;
[EMAIL PROTECTED] = map { s/^\d\d\d//; $_ } sort @y;
+print @x, @y;
+EOT
+
+  -->
+
 <div class="doc_title">LLVM's Analysis and Transform Passes</div>
 
 <ol>
@@ -26,11 +54,11 @@
   <p>This document serves as a high level summary of the optimization features 
   that LLVM provides. Optimizations are implemented as Passes that traverse 
some
   portion of a program to either collect information or transform the program.
-  THe table below divides the passes that LLVM provides into three categories.
+  The table below divides the passes that LLVM provides into three categories.
   Analysis passes compute information that other passes can use or for 
debugging
   or program visualization purposes. Transform passes can use (or invalidate)
   the analysis passes. Transform passes all mutate the program in some way. 
-  Utility passes provides ome utility but don't otherwise fit categorization.
+  Utility passes provides some utility but don't otherwise fit categorization.
   For example passes to extract functions to bitcode or write a module to
   bitcode are neither analysis nor transform passes.
   <p>The table below provides a quick summary of each pass and links to the 
more
@@ -48,26 +76,23 @@
 <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="#domset">-domset</a></td><td>Dominator Set 
Construction</td></tr>
 <tr><td><a href="#domtree">-domtree</a></td><td>Dominator Tree 
Construction</td></tr>
-<tr><td><a href="#etforest">-etforest</a></td><td>ET Forest 
Construction</td></tr>
 <tr><td><a href="#externalfnconstants">-externalfnconstants</a></td><td>Print 
external fn callsites passed constants</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="#idom">-idom</a></td><td>Immediate Dominators 
Construction</td></tr>
+<tr><td><a href="#gvn">-gvn</a></td><td>Global Value Numbering</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>
 <tr><td><a href="#load-vn">-load-vn</a></td><td>Load Value Numbering</td></tr>
 <tr><td><a href="#loops">-loops</a></td><td>Natural Loop Construction</td></tr>
+<tr><td><a href="#memdep">-memdep</a></td><td>Memory Dependence 
Analysis</td></tr>
 <tr><td><a href="#no-aa">-no-aa</a></td><td>No Alias Analysis (always returns 
'may' alias)</td></tr>
 <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="#postdomset">-postdomset</a></td><td>Post-Dominator Set 
Construction</td></tr>
 <tr><td><a href="#postdomtree">-postdomtree</a></td><td>Post-Dominator Tree 
Construction</td></tr>
-<tr><td><a href="#postetforest">-postetforest</a></td><td>Post-ET-Forest 
Construction</td></tr>
-<tr><td><a href="#postidom">-postidom</a></td><td>Immediate Post-Dominators 
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>
@@ -85,7 +110,7 @@
 <tr><td><a href="#adce">-adce</a></td><td>Aggressive Dead Code 
Elimination</td></tr>
 <tr><td><a href="#argpromotion">-argpromotion</a></td><td>Promote 'by 
reference' arguments to scalars</td></tr>
 <tr><td><a href="#block-placement">-block-placement</a></td><td>Profile Guided 
Basic Block Placement</td></tr>
-<tr><td><a href="#break-crit-edges">-break-crit-edges</a></td><td>Break 
Critical Edges in CFG</td></tr>
+<tr><td><a href="#break-crit-edges">-break-crit-edges</a></td><td>Break 
critical edges in CFG</td></tr>
 <tr><td><a href="#cee">-cee</a></td><td>Correlated Expression 
Elimination</td></tr>
 <tr><td><a href="#condprop">-condprop</a></td><td>Conditional 
Propagation</td></tr>
 <tr><td><a href="#constmerge">-constmerge</a></td><td>Merge Duplicate Global 
Constants</td></tr>
@@ -98,6 +123,7 @@
 <tr><td><a href="#gcse">-gcse</a></td><td>Global Common Subexpression 
Elimination</td></tr>
 <tr><td><a href="#globaldce">-globaldce</a></td><td>Dead Global 
Elimination</td></tr>
 <tr><td><a href="#globalopt">-globalopt</a></td><td>Global Variable 
Optimizer</td></tr>
+<tr><td><a href="#gvnpre">-gvnpre</a></td><td>Global Value Numbering/Partial 
Redundancy Elimination</td></tr>
 <tr><td><a href="#indmemrem">-indmemrem</a></td><td>Indirect Malloc and Free 
Removal</td></tr>
 <tr><td><a href="#indvars">-indvars</a></td><td>Canonicalize Induction 
Variables</td></tr>
 <tr><td><a href="#inline">-inline</a></td><td>Function 
Integration/Inlining</td></tr>
@@ -114,24 +140,26 @@
 <tr><td><a href="#licm">-licm</a></td><td>Loop Invariant Code Motion</td></tr>
 <tr><td><a href="#loop-extract">-loop-extract</a></td><td>Extract loops into 
new functions</td></tr>
 <tr><td><a 
href="#loop-extract-single">-loop-extract-single</a></td><td>Extract at most 
one loop into a new function</td></tr>
+<tr><td><a href="#loop-index-split">-loop-index-split</a></td><td>Index Split 
Loops</td></tr>
 <tr><td><a href="#loop-reduce">-loop-reduce</a></td><td>Loop Strength 
Reduction</td></tr>
-<tr><td><a href="#loop-unroll">-loop-unroll</a></td><td>Unroll Loops</td></tr>
-<tr><td><a href="#loop-unswitch">-loop-unswitch</a></td><td>Unswitch 
Loops</td></tr>
-<tr><td><a href="#loopsimplify">-loopsimplify</a></td><td>Canonicalize Natural 
Loops</td></tr>
-<tr><td><a href="#lower-packed">-lower-packed</a></td><td>Lower Packed 
Operations</td></tr>
+<tr><td><a href="#loop-rotate">-loop-rotate</a></td><td>Rotate Loops</td></tr>
+<tr><td><a href="#loop-unroll">-loop-unroll</a></td><td>Unroll loops</td></tr>
+<tr><td><a href="#loop-unswitch">-loop-unswitch</a></td><td>Unswitch 
loops</td></tr>
+<tr><td><a href="#loopsimplify">-loopsimplify</a></td><td>Canonicalize natural 
loops</td></tr>
+<tr><td><a href="#lower-packed">-lower-packed</a></td><td>lowers packed 
operations to operations on smaller packed datatypes</td></tr>
 <tr><td><a href="#lowerallocs">-lowerallocs</a></td><td>Lower allocations from 
instructions to calls</td></tr>
 <tr><td><a href="#lowergc">-lowergc</a></td><td>Lower GC intrinsics, for 
GCless code generators</td></tr>
-<tr><td><a href="#lowerinvoke">-lowerinvoke</a></td><td>Lower Invoke and 
Unwind</td></tr>
-<tr><td><a href="#lowerselect">-lowerselect</a></td><td>Lower Selects To 
Branches</td></tr>
+<tr><td><a href="#lowerinvoke">-lowerinvoke</a></td><td>Lower invoke and 
unwind, for unwindless code generators</td></tr>
+<tr><td><a href="#lowerselect">-lowerselect</a></td><td>Lower select 
instructions to branches</td></tr>
 <tr><td><a href="#lowersetjmp">-lowersetjmp</a></td><td>Lower Set 
Jump</td></tr>
 <tr><td><a href="#lowerswitch">-lowerswitch</a></td><td>Lower SwitchInst's to 
branches</td></tr>
 <tr><td><a href="#mem2reg">-mem2reg</a></td><td>Promote Memory to 
Register</td></tr>
-<tr><td><a href="#mergereturn">-mergereturn</a></td><td>Unify Function Exit 
Nodes</td></tr>
+<tr><td><a href="#mergereturn">-mergereturn</a></td><td>Unify function exit 
nodes</td></tr>
 <tr><td><a href="#predsimplify">-predsimplify</a></td><td>Predicate 
Simplifier</td></tr>
 <tr><td><a href="#prune-eh">-prune-eh</a></td><td>Remove unused exception 
handling info</td></tr>
 <tr><td><a href="#raiseallocs">-raiseallocs</a></td><td>Raise allocations from 
calls to instructions</td></tr>
-<tr><td><a href="#reassociate">-reassociate</a></td><td>Reassociate 
Expressions</td></tr>
-<tr><td><a href="#reg2mem">-reg2mem</a></td><td>Demote Values to 
Memory</td></tr>
+<tr><td><a href="#reassociate">-reassociate</a></td><td>Reassociate 
expressions</td></tr>
+<tr><td><a href="#reg2mem">-reg2mem</a></td><td>Demote all values to stack 
slots</td></tr>
 <tr><td><a href="#scalarrepl">-scalarrepl</a></td><td>Scalar Replacement of 
Aggregates</td></tr>
 <tr><td><a href="#sccp">-sccp</a></td><td>Sparse Conditional Constant 
Propagation</td></tr>
 <tr><td><a href="#simplify-libcalls">-simplify-libcalls</a></td><td>Simplify 
well-known library calls</td></tr>
@@ -139,12 +167,16 @@
 <tr><td><a href="#strip">-strip</a></td><td>Strip all symbols from a 
module</td></tr>
 <tr><td><a href="#tailcallelim">-tailcallelim</a></td><td>Tail Call 
Elimination</td></tr>
 <tr><td><a href="#tailduplicate">-tailduplicate</a></td><td>Tail 
Duplication</td></tr>
+
+
 <tr><th colspan="3"><b>UTILITY PASSES</b></th></tr>
 <tr><th>Option</th><th>Name</th><th>Directory</th></tr>
-<tr><td><a href="#deadarghaX0r">-deadarghaX0r</a></td><td>Dead Argument 
Hacking (BUGPOINT ONLY)</td></tr>
-<tr><td><a href="#extract-blocks">-extract-blocks</a></td><td>Extract Basic 
Blocks From Module (BUGPOINT ONLY)</td></tr>
+<tr><td><a href="#deadarghaX0r">-deadarghaX0r</a></td><td>Dead Argument 
Hacking (BUGPOINT USE ONLY; DO NOT USE)</td></tr>
+<tr><td><a href="#extract-blocks">-extract-blocks</a></td><td>Extract Basic 
Blocks From Module (for bugpoint use)</td></tr>
 <tr><td><a href="#emitbitcode">-emitbitcode</a></td><td>Bitcode 
Writer</td></tr>
 <tr><td><a href="#verify">-verify</a></td><td>Module Verifier</td></tr>
+<tr><td><a href="#view-cfg">-view-cfg</a></td><td>View CFG of 
function</td></tr>
+<tr><td><a href="#view-cfg-only">-view-cfg-only</a></td><td>View CFG of 
function (with no function bodies)</td></tr>
 </table>
 </div>
 
@@ -172,7 +204,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="basicaa">Basic Alias Analysis</a>
+  <a name="basicaa">Basic Alias Analysis (default AA impl)</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -180,7 +212,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="basiccg">Basic Call Graph Construction</a>
+  <a name="basiccg">Basic CallGraph Construction</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -188,7 +220,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="basicvn">Basic Value Numbering</a>
+  <a name="basicvn">Basic Value Numbering (default GVN impl)</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -196,7 +228,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="callgraph">Print Call Graph</a>
+  <a name="callgraph">Print a call graph</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -212,7 +244,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="cfgscc">Print SCCs of each Function Control Flow Graph</a>
+  <a name="cfgscc">Print SCCs of each function CFG</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -220,7 +252,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="count-aa">Count Alias Analysis Query Responses</a>
+  <a name="codegenprepare">Optimize for code generation</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -228,7 +260,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="debug-aa">Alias Analysis Usage Debugger</a>
+  <a name="count-aa">Count Alias Analysis Query Responses</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -236,7 +268,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="domfrontier">Dominance Frontier Construction</a>
+  <a name="debug-aa">AA use debugger</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -244,7 +276,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="domset">Dominator Set Construction</a>
+  <a name="domfrontier">Dominance Frontier Construction</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -260,22 +292,6 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="etforest">ET Forest Construction</a>
-</div>
-<div class="doc_text">
-  <p>Yet to be written.</p>
-</div>
-
-<!-------------------------------------------------------------------------- 
-->
-<div class="doc_subsection">
-  <a name="basicvn">Basic Value Numbering</a>
-</div>
-<div class="doc_text">
-  <p>Yet to be written.</p>
-</div>
-
-<!-------------------------------------------------------------------------- 
-->
-<div class="doc_subsection">
   <a name="externalfnconstants">Print external fn callsites passed 
constants</a>
 </div>
 <div class="doc_text">
@@ -292,7 +308,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="idom">Immediate Dominators Construction</a>
+  <a name="gvn">Global Value Numbering</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -332,7 +348,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="no-aa">No Alias Analysis (always returns 'may' alias)</a>
+  <a name="memdep">Memory Dependence Analysis</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -340,7 +356,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="no-profile">No Profile Information</a>
+  <a name="no-aa">No Alias Analysis (always returns 'may' alias)</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -348,7 +364,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="postdomfrontier">Post-Dominance Frontier Construction</a>
+  <a name="no-profile">No Profile Information</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -356,7 +372,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="postdomset">Post-Dominator Set Construction</a>
+  <a name="postdomfrontier">Post-Dominance Frontier Construction</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -372,22 +388,6 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="postetforest">Post-ET-Forest Construction</a>
-</div>
-<div class="doc_text">
-  <p>Yet to be written.</p>
-</div>
-
-<!-------------------------------------------------------------------------- 
-->
-<div class="doc_subsection">
-  <a name="postidom">Immediate Post-Dominators Construction</a>
-</div>
-<div class="doc_text">
-  <p>Yet to be written.</p>
-</div>
-
-<!-------------------------------------------------------------------------- 
-->
-<div class="doc_subsection">
   <a name="print">Print function to stderr</a>
 </div>
 <div class="doc_text">
@@ -515,7 +515,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="break-crit-edges">Break Critical Edges in CFG</a>
+  <a name="break-crit-edges">Break critical edges in CFG</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -564,7 +564,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="constprop">Constant Propagation</a>
+  <a name="constprop">Simple constant propagation</a>
 </div>
 <div class="doc_text">
   <p>This file implements constant propagation and merging. It looks for
@@ -644,6 +644,14 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
+  <a name="gvnpre">Global Value Numbering/Partial Redundancy Elimination</a>
+</div>
+<div class="doc_text">
+  <p>Yet to be written.</p>
+</div>
+
+<!-------------------------------------------------------------------------- 
-->
+<div class="doc_subsection">
   <a name="indmemrem">Indirect Malloc and Free Removal</a>
 </div>
 <div class="doc_text">
@@ -772,6 +780,14 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
+  <a name="loop-index-split">Index Split Loops</a>
+</div>
+<div class="doc_text">
+  <p>Yet to be written.</p>
+</div>
+
+<!-------------------------------------------------------------------------- 
-->
+<div class="doc_subsection">
   <a name="loop-reduce">Loop Strength Reduction</a>
 </div>
 <div class="doc_text">
@@ -780,7 +796,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="loop-unroll">Unroll Loops</a>
+  <a name="loop-rotate">Rotate Loops</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -788,7 +804,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="loop-unswitch">Unswitch Loops</a>
+  <a name="loop-unroll">Unroll loops</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -796,7 +812,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="loopsimplify">Canonicalize Natural Loops</a>
+  <a name="loop-unswitch">Unswitch loops</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -804,7 +820,15 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="lower-packed">Lower Packed Operations</a>
+  <a name="loopsimplify">Canonicalize natural loops</a>
+</div>
+<div class="doc_text">
+  <p>Yet to be written.</p>
+</div>
+
+<!-------------------------------------------------------------------------- 
-->
+<div class="doc_subsection">
+  <a name="lower-packed">lowers packed operations to operations on smaller 
packed datatypes</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -828,7 +852,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="lowerinvoke">Lower Invoke and Unwind</a>
+  <a name="lowerinvoke">Lower invoke and unwind, for unwindless code 
generators</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -836,7 +860,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="lowerselect">Lower Selects To Branches</a>
+  <a name="lowerselect">Lower select instructions to branches</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -868,7 +892,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="mergereturn">Unify Function Exit Nodes</a>
+  <a name="mergereturn">Unify function exit nodes</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -900,7 +924,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="reassociate">Reassociate Expressions</a>
+  <a name="reassociate">Reassociate expressions</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -908,7 +932,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="reg2mem">Demote Values to Memory</a>
+  <a name="reg2mem">Demote all values to stack slots</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -978,7 +1002,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="deadarghaX0r">Dead Argument Hacking (BUGPOINT ONLY)</a>
+  <a name="deadarghaX0r">Dead Argument Hacking (BUGPOINT USE ONLY; DO NOT 
USE)</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -986,7 +1010,7 @@
 
 <!-------------------------------------------------------------------------- 
-->
 <div class="doc_subsection">
-  <a name="extract-blocks">Extract Basic Blocks From Module (BUGPOINT ONLY)</a>
+  <a name="extract-blocks">Extract Basic Blocks From Module (for bugpoint 
use)</a>
 </div>
 <div class="doc_text">
   <p>Yet to be written.</p>
@@ -1008,6 +1032,22 @@
   <p>Yet to be written.</p>
 </div>
 
+<!-------------------------------------------------------------------------- 
-->
+<div class="doc_subsection">
+  <a name="view-cfg">View CFG of function</a>
+</div>
+<div class="doc_text">
+  <p>Yet to be written.</p>
+</div>
+
+<!-------------------------------------------------------------------------- 
-->
+<div class="doc_subsection">
+  <a name="view-cfg-only">View CFG of function (with no function bodies)</a>
+</div>
+<div class="doc_text">
+  <p>Yet to be written.</p>
+</div>
+
 <!-- *********************************************************************** 
-->
 
 <hr>


_______________________________________________
llvm-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to