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)