diff --git a/docs/Passes.html b/docs/Passes.html
index a5349c3b85c2..061b90d678b3 100644
--- a/docs/Passes.html
+++ b/docs/Passes.html
@@ -75,9 +75,8 @@
ANALYSIS PASSES |
Option | Name |
-aa-eval | Exhaustive Alias Analysis Precision Evaluator |
--basicaa | Basic Alias Analysis (default AA impl) |
+-basicaa | Basic Alias Analysis (stateless AA impl) |
-basiccg | Basic CallGraph Construction |
--codegenprepare | Optimize for code generation |
-count-aa | Count Alias Analysis Query Responses |
-debug-aa | AA use debugger |
-domfrontier | Dominance Frontier Construction |
@@ -85,27 +84,23 @@
-dot-callgraph | Print Call Graph to 'dot' file |
-dot-cfg | Print CFG of function to 'dot' file |
-dot-cfg-only | Print CFG of function to 'dot' file (with no function bodies) |
--dot-dom | Print dominator tree of function to 'dot' file |
--dot-dom-only | Print dominator tree of function to 'dot' file (with no function bodies) |
--dot-postdom | Print post dominator tree of function to 'dot' file |
--dot-postdom-only | Print post dominator tree of function to 'dot' file (with no function bodies) |
+-dot-dom | Print dominance tree of function to 'dot' file |
+-dot-dom-only | Print dominance tree of function to 'dot' file (with no function bodies) |
+-dot-postdom | Print postdominance tree of function to 'dot' file |
+-dot-postdom-only | Print postdominance tree of function to 'dot' file (with no function bodies) |
-globalsmodref-aa | Simple mod/ref analysis for globals |
-instcount | Counts the various types of Instructions |
--interprocedural-aa-eval | Exhaustive Interprocedural Alias Analysis Precision Evaluator |
--interprocedural-basic-aa | Interprocedural Basic Alias Analysis |
-intervals | Interval Partition Construction |
-iv-users | Induction Variable Users |
-lazy-value-info | Lazy Value Information Analysis |
-lda | Loop Dependence Analysis |
-libcall-aa | LibCall Alias Analysis |
--lint | Check for common errors in LLVM IR |
--live-values | Value Liveness Analysis |
+-lint | Statically lint-checks LLVM IR |
-loops | Natural Loop Information |
-memdep | Memory Dependence Analysis |
--module-debuginfo | Prints module debug info metadata |
+-module-debuginfo | Decodes module-level debug info |
-no-aa | No Alias Analysis (always returns 'may' alias) |
-no-profile | No Profile Information |
--pointertracking | Track pointer bounds |
-postdomfrontier | Post-Dominance Frontier Construction |
-postdomtree | Post-Dominator Tree Construction |
-print-alias-sets | Alias Set Printer |
@@ -120,8 +115,8 @@
-print-used-types | Find Used Types |
-profile-estimator | Estimate profiling information |
-profile-loader | Load profile information from llvmprof.out |
--regions | Detect single entry single exit regions in a function |
-profile-verifier | Verify profiling information |
+-regions | Detect single entry single exit regions |
-scalar-evolution | Scalar Evolution Analysis |
-scev-aa | ScalarEvolution-based Alias Analysis |
-targetdata | Target Data Layout |
@@ -129,13 +124,12 @@
TRANSFORM PASSES |
Option | Name |
--abcd | Remove redundant conditional branches |
-adce | Aggressive Dead Code Elimination |
-always-inline | Inliner for always_inline functions |
-argpromotion | Promote 'by reference' arguments to scalars |
-block-placement | Profile Guided Basic Block Placement |
-break-crit-edges | Break critical edges in CFG |
--codegenprepare | Prepare a function for code generation |
+-codegenprepare | Optimize for code generation |
-constmerge | Merge Duplicate Global Constants |
-constprop | Simple constant propagation |
-dce | Dead Code Elimination |
@@ -155,46 +149,40 @@
-internalize | Internalize Global Symbols |
-ipconstprop | Interprocedural constant propagation |
-ipsccp | Interprocedural Sparse Conditional Constant Propagation |
--jump-threading | Thread control through conditional blocks |
+-jump-threading | Jump Threading |
-lcssa | Loop-Closed SSA Form Pass |
-licm | Loop Invariant Code Motion |
--loop-deletion | Dead Loop Deletion Pass |
+-loop-deletion | Delete dead loops |
-loop-extract | Extract loops into new functions |
-loop-extract-single | Extract at most one loop into a new function |
--loop-index-split | Index Split Loops |
-loop-reduce | Loop Strength Reduction |
-loop-rotate | Rotate Loops |
+-loop-simplify | Canonicalize natural loops |
-loop-unroll | Unroll loops |
-loop-unswitch | Unswitch loops |
--loop-simplify | Canonicalize natural loops |
--loweratomic | Lower atomic intrinsics |
+-loweratomic | Lower atomic intrinsics to non-atomic form |
-lowerinvoke | Lower invoke and unwind, for unwindless code generators |
-lowersetjmp | Lower Set Jump |
-lowerswitch | Lower SwitchInst's to branches |
-mem2reg | Promote Memory to Register |
--memcpyopt | Optimize use of memcpy and friends |
+-memcpyopt | MemCpy Optimization |
-mergefunc | Merge Functions |
-mergereturn | Unify function exit nodes |
-partial-inliner | Partial Inliner |
--partialspecialization | Partial Specialization |
-prune-eh | Remove unused exception handling info |
-reassociate | Reassociate expressions |
-reg2mem | Demote all values to stack slots |
--scalarrepl | Scalar Replacement of Aggregates |
+-scalarrepl | Scalar Replacement of Aggregates (DT) |
-sccp | Sparse Conditional Constant Propagation |
--sink | Code Sinking |
-simplify-libcalls | Simplify well-known library calls |
--simplify-libcalls-halfpowr | Simplify half_powr library calls |
-simplifycfg | Simplify the CFG |
--split-geps | Split complex GEPs into simple GEPs |
--ssi | Static Single Information Construction |
--ssi-everything | Static Single Information Construction (everything, intended for debugging) |
+-sink | Code sinking |
+-sretpromotion | Promote sret arguments to multiple ret values |
-strip | Strip all symbols from a module |
-strip-dead-debug-info | Strip debug info for unused symbols |
--strip-dead-prototypes | Remove unused function declarations |
+-strip-dead-prototypes | Strip Unused Function Prototypes |
-strip-debug-declare | Strip all llvm.dbg.declare intrinsics |
-strip-nondebug | Strip all symbols, except dbg symbols, from a module |
--sretpromotion | Promote sret arguments |
-tailcallelim | Tail Call Elimination |
-tailduplicate | Tail Duplication |
@@ -208,10 +196,10 @@
-verify | Module Verifier |
-view-cfg | View CFG of function |
-view-cfg-only | View CFG of function (with no function bodies) |
--view-dom | View dominator tree of function |
--view-dom-only | View dominator tree of function (with no function bodies) |
--view-postdom | View post dominator tree of function |
--view-postdom-only | View post dominator tree of function (with no function bodies) |
+-view-dom | View dominance tree of function |
+-view-dom-only | View dominance tree of function (with no function bodies) |
+-view-postdom | View postdominance tree of function |
+-view-postdom-only | View postdominance tree of function (with no function bodies) |
@@ -237,7 +225,7 @@
@@ -504,7 +492,7 @@
This pass statically checks for common and easily-identified constructs
@@ -535,15 +523,7 @@
-
-
LLVM IR Value liveness analysis pass.
-
-
-
-
@@ -569,7 +549,7 @@
This pass decodes the debug info metadata in a module and prints in a
@@ -855,21 +835,6 @@
This section describes the LLVM Transform Passes.
-
-
-
-
ABCD removes conditional branch instructions that can be proved redundant.
- With the SSI representation, each variable has a constraint. By analyzing these
- constraints we can prove that a branch is redundant. When a branch is proved
- redundant it means that one direction will always be taken; thus, we can change
- this branch into an unconditional jump.
-
It is advisable to run SimplifyCFG and
- Aggressive Dead Code Elimination after ABCD
- to clean up the code.
-
-
-adce: Aggressive Dead Code Elimination
@@ -1284,7 +1249,7 @@
-
-
-
-
- This pass divides loop's iteration range by spliting loop such that each
- individual loop is executed efficiently.
-
-
-
-loop-reduce: Loop Strength Reduction
@@ -1664,7 +1618,7 @@
-
-
-
-
This pass finds function arguments that are often a common constant and
- specializes a version of the called function for that constant.
-
- This pass simply does the cloning for functions it specializes. It depends
- on IPSCCP and DAE to clean up the results.
-
- The initial heuristic favors constant arguments that are used in control
- flow.
-
-
-
-prune-eh: Remove unused exception handling info
@@ -1786,7 +1724,7 @@
-
-
-
-
Simple pass that applies an experimental transformation on calls
- to specific functions.
-
-
-
-
-
-
-
This function breaks GEPs with more than 2 non-zero operands into smaller
- GEPs each with no more than 2 non-zero operands. This exposes redundancy
- between GEPs with common initial operand sequences.
-
-
-
-
-
-
-
This pass converts a list of variables to the Static Single Information
- form.
-
- We are building an on-demand representation, that is, we do not convert
- every single variable in the target function to SSI form. Rather, we receive
- a list of target variables that must be converted. We also do not
- completely convert a target variable to the SSI format. Instead, we only
- change the variable in the points where new information can be attached
- to its live range, that is, at branch points.
-
-
-
-
-
-
-
A pass that runs SSI on every non-void variable, intended for debugging.
-
-
-