[tomas@myhost ~]$ opt --help
OVERVIEW: llvm .bc -> .bc modular optimizer and analysis printer
USAGE: opt [options] <input bitcode file>
OPTIONS:
Optimizations available:
-aa-eval - Exhaustive Alias Analysis Precision Evaluator
-adce - Aggressive Dead Code Elimination
-anders-aa - Andersen's Interprocedural Alias Analysis
-argpromotion - Promote 'by reference' arguments to scalars
-basicaa - Basic Alias Analysis (default AA impl)
-basiccg - Basic CallGraph Construction
-basicvn - Basic Value Numbering (default GVN impl)
-block-placement - Profile Guided Basic Block Placement
-break-crit-edges - Break critical edges in CFG
-callgraph - Print a call graph
-callscc - Print SCCs of the Call Graph
-cee - Correlated Expression Elimination
-cfgscc - Print SCCs of each function CFG
-codegenprepare - Optimize for code generation
-condprop - Conditional Propagation
-constmerge - Merge Duplicate Global Constants
-constprop - Simple constant 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
-dse - Dead Store Elimination
-emitbitcode - Bitcode Writer
-externalfnconstants - Print external fn callsites passed constants
-extract-blocks - Extract Basic Blocks From Module (for bugpoint use)
-fdse - Fast Dead Store Elimination
-gcse - Global Common Subexpression Elimination
-globaldce - Dead Global Elimination
-globalopt - Global Variable Optimizer
-globalsmodref-aa - Simple mod/ref analysis for globals
-gvnpre - Global Value Numbering/Partial Redundancy Elimination
-indmemrem - Indirect Malloc and Free Removal
-indvars - Canonicalize Induction Variables
-inline - Function Integration/Inlining
-insert-block-profiling - Insert instrumentation for block profiling
-insert-edge-profiling - Insert instrumentation for edge profiling
-insert-function-profiling - Insert instrumentation for function profiling
-insert-null-profiling-rs - Measure profiling framework overhead
-insert-rs-profiling-framework - Insert random sampling instrumentation framework
-instcombine - Combine redundant instructions
-instcount - Counts the various types of Instructions
-internalize - Internalize Global Symbols
-intervals - Interval Partition Construction
-ipconstprop - Interprocedural constant propagation
-ipsccp - Interprocedural Sparse Conditional Constant Propagation
-lcssa - Loop-Closed SSA Form Pass
-licm - Loop Invariant Code Motion
-load-vn - Load Value Numbering
-loop-extract - Extract loops into new functions
-loop-extract-single - Extract at most one loop into a new function
-loop-reduce - Loop Strength Reduction
-loop-rotate - Rotate Loops
-loop-unroll - Unroll loops
-loop-unswitch - Unswitch loops
-loops - Natural Loop Construction
-loopsimplify - Canonicalize natural loops
-lower-packed - lowers packed operations to operations on smaller packed datatypes
-lowerallocs - Lower allocations from instructions to calls
-lowergc - Lower GC intrinsics, for GCless code generators
-lowerinvoke - Lower invoke and unwind, for unwindless code generators
-lowerselect - Lower select instructions to branches
-lowersetjmp - Lower Set Jump
-lowerswitch - Lower SwitchInst's to branches
-mem2reg - Promote Memory to Register
-memdep - Memory Dependence Analysis
-mergereturn - Unify function exit nodes
-no-aa - No Alias Analysis (always returns 'may' alias)
-no-profile - No Profile Information
-postdomfrontier - Post-Dominance Frontier Construction
-postdomtree - Post-Dominator Tree Construction
-predsimplify - Predicate Simplifier
-print - Print function to stderr
-print-alias-sets - Alias Set Printer
-print-callgraph - Print Call Graph to 'dot' file
-print-cfg - Print CFG of function to 'dot' file
-print-cfg-only - Print CFG of function to 'dot' file (with no function bodies)
-printm - Print module to stderr
-printusedtypes - Find Used Types
-profile-loader - Load profile information from llvmprof.out
-prune-eh - Remove unused exception handling info
-raiseallocs - Raise allocations from calls to instructions
-reassociate - Reassociate expressions
-reg2mem - Demote all values to stack slots
-scalar-evolution - Scalar Evolution Analysis
-scalarrepl - Scalar Replacement of Aggregates
-sccp - Sparse Conditional Constant Propagation
-simplify-libcalls - Simplify well-known library calls
-simplifycfg - Simplify the CFG
-strip - Strip all symbols from a module
-tailcallelim - Tail Call Elimination
-tailduplicate - Tail Duplication
-targetdata - Target Data Layout
-verify - Module Verifier
-view-cfg - View CFG of function
-view-cfg-only - View CFG of function (with no function bodies)
-analyze - Only perform analysis, no optimization
-disable-inlining - Do not run the inliner pass
-disable-opt - Do not run any optimization passes
-enable-correct-eh-support - Make the -lowerinvoke pass insert expensive, but correct, EH code
-f - Overwrite output files
-help - Display available options (--help-hidden for more)
-internalize-public-api-file=<filename> - A file containing list of symbol names to preserve
-internalize-public-api-list=<list> - A list of symbol names to preserve
-load=<pluginfilename> - Load the specified plugin
-o=<filename> - Override output filename
-p - Print module after each transformation
-profile-info-file=<filename> - Profile file loaded by -profile-loader
-profile-randomness - How to randomly choose to profile:
=global - global counter
=ra_global - register allocated global counter
=rdcc - cycle counter
-stats - Enable statistics output from program
-std-compile-opts - Include the standard compile time optimizations
-strip-debug - Strip debugger symbol info from translation unit
-time-passes - Time each pass, printing elapsed time for each on exit
-verify-each - Verify after each transform
-version - Display the version of this program