[tomas@myhost ~]$ opt --help OVERVIEW: llvm .bc -> .bc modular optimizer and analysis printer USAGE: opt [options] 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= - A file containing list of symbol names to preserve -internalize-public-api-list= - A list of symbol names to preserve -load= - Load the specified plugin -o= - Override output filename -p - Print module after each transformation -profile-info-file= - 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