User Tools

Site Tools


passes

opt -help

Optimizations available:
-aa-eval                                   - Exhaustive Alias Analysis Precision Evaluator
  -adce                                      - Aggressive Dead Code Elimination
  -always-inline                             - Inliner for always_inline functions
  -argpromotion                              - Promote 'by reference' arguments to scalars
  -basicaa                                   - Basic Alias Analysis (stateless AA impl)
  -basiccg                                   - Basic CallGraph Construction
  -block-placement                           - Profile Guided Basic Block Placement
  -break-crit-edges                          - Break critical edges in CFG
  -codegenprepare                            - Optimize for code generation
  -constmerge                                - Merge Duplicate Global Constants
  -constprop                                 - Simple constant propagation
  -correlated-propagation                    - Value Propagation
  -count-aa                                  - Count Alias Analysis Query Responses
  -dce                                       - Dead Code Elimination
  -deadargelim                               - Dead Argument Elimination
  -deadarghaX0r                              - Dead Argument Hacking (BUGPOINT USE ONLY; DO NOT USE)
  -deadtypeelim                              - Dead Type Elimination
  -debug-aa                                  - AA use debugger
  -die                                       - Dead Instruction Elimination
  -domfrontier                               - Dominance Frontier Construction
  -domtree                                   - Dominator Tree Construction
  -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 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)
  -dot-regions                               - Print regions of function to 'dot' file
  -dot-regions-only                          - Print regions of function to 'dot' file (with no function bodies)
  -dse                                       - Dead Store Elimination
  -early-cse                                 - Early CSE
  -extract-blocks                            - Extract Basic Blocks From Module (for bugpoint use)
  -functionattrs                             - Deduce function attributes
  -globaldce                                 - Dead Global Elimination
  -globalopt                                 - Global Variable Optimizer
  -globalsmodref-aa                          - Simple mod/ref analysis for globals
  -gvn                                       - Global Value Numbering
  -indvars                                   - Canonicalize Induction Variables
  -inline                                    - Function Integration/Inlining
  -insert-edge-profiling                     - Insert instrumentation for edge profiling
  -insert-optimal-edge-profiling             - Insert optimal instrumentation for edge profiling
  -insert-path-profiling                     - Insert instrumentation for Ball-Larus path profiling
  -instcombine                               - Combine redundant instructions
  -instcount                                 - Counts the various types of Instructions
  -instnamer                                 - Assign names to anonymous instructions
  -instsimplify                              - Remove redundant instructions
  -internalize                               - Internalize Global Symbols
  -intervals                                 - Interval Partition Construction
  -ipconstprop                               - Interprocedural constant propagation
  -ipsccp                                    - Interprocedural Sparse Conditional Constant Propagation
  -iv-users                                  - Induction Variable Users
  -jump-threading                            - Jump Threading
  -lazy-value-info                           - Lazy Value Information Analysis
  -lcssa                                     - Loop-Closed SSA Form Pass
  -lda                                       - Loop Dependence Analysis
  -libcall-aa                                - LibCall Alias Analysis
  -licm                                      - Loop Invariant Code Motion
  -lint                                      - Statically lint-checks LLVM IR
  -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-idiom                                - Recognize loop idioms
  -loop-instsimplify                         - Simplify instructions in loops
  -loop-reduce                               - Loop Strength Reduction
  -loop-rotate                               - Rotate Loops
  -loop-simplify                             - Canonicalize natural loops
  -loop-unroll                               - Unroll loops
  -loop-unswitch                             - Unswitch loops
  -loops                                     - Natural Loop Information
  -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                                 - MemCpy Optimization
  -memdep                                    - Memory Dependence Analysis
  -mergefunc                                 - Merge Functions
  -mergereturn                               - Unify function exit nodes
  -module-debuginfo                          - Decodes module-level debug info
  -no-aa                                     - No Alias Analysis (always returns 'may' alias)
  -no-path-profile                           - No Path Profile Information
  -no-profile                                - No Profile Information
  -partial-inliner                           - Partial Inliner
  -path-profile-loader                       - Load path profile information from file
  -path-profile-verifier                     - Compare the path profile derived edge profile against the edge profile.
  -postdomfrontier                           - Post-Dominance Frontier Construction
  -postdomtree                               - Post-Dominator Tree Construction
  -preverify                                 - Preliminary module verification
  -print-alias-sets                          - Alias Set Printer
  -print-callgraph                           - Print a call graph
  -print-callgraph-sccs                      - Print SCCs of the Call Graph
  -print-cfg-sccs                            - Print SCCs of each function CFG
  -print-dbginfo                             - Print debug info in human readable form
  -print-dom-info                            - Dominator Info Printer
  -print-externalfnconstants                 - Print external fn callsites passed constants
  -print-function                            - Print function to stderr
  -print-memdeps                             - Print MemDeps of function
  -print-module                              - Print module to stderr
  -print-used-types                          - Find Used Types
  -profile-estimator                         - Estimate profiling information
  -profile-loader                            - Load profile information from llvmprof.out
  -profile-verifier                          - Verify profiling information
  -prune-eh                                  - Remove unused exception handling info
  -reassociate                               - Reassociate expressions
  -reg2mem                                   - Demote all values to stack slots
  -regions                                   - Detect single entry single exit regions
  -scalar-evolution                          - Scalar Evolution Analysis
  -scalarrepl                                - Scalar Replacement of Aggregates (DT)
  -scalarrepl-ssa                            - Scalar Replacement of Aggregates (SSAUp)
  -sccp                                      - Sparse Conditional Constant Propagation
  -scev-aa                                   - ScalarEvolution-based Alias Analysis
  -simplify-libcalls                         - Simplify well-known library calls
  -simplifycfg                               - Simplify the CFG
  -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                     - Strip Unused Function Prototypes
  -strip-debug-declare                       - Strip all llvm.dbg.declare intrinsics
  -strip-nondebug                            - Strip all symbols, except dbg symbols, from a module
  -tailcallelim                              - Tail Call Elimination
  -tailduplicate                             - Tail Duplication
  -targetdata                                - Target Data Layout
  -targetlibinfo                             - Target Library Information
  -tbaa                                      - Type-Based Alias Analysis
  -verify                                    - Module Verifier
  -view-cfg                                  - View CFG of function
  -view-cfg-only                             - View CFG 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)
  -view-regions                              - View regions of function
  -view-regions-only                         - View regions of function (with no function bodies)
passes.txt · Last modified: 2012/05/16 14:40 by jenny