Setting environment for using Microsoft Visual Studio 2008 x86 tools.
OVERVIEW: llvm .bc -> .bc modular optimizer and analysis printer
USAGE: opt [options]
OPTIONS:
-O1 - Optimization level 1. Similar to llvm-gcc -O1
-O2 - Optimization level 2. Similar to llvm-gcc -O2
-O3 - Optimization level 3. Similar to llvm-gcc -O3
-S - Write output as LLVM assembly
-analyze - Only perform analysis, no optimization
-default-data-layout= - data layout string to use if not specified by module
-disable-inlining - Do not run the inliner pass
-disable-internalize - Do not mark all symbols as internal
-disable-opt - Do not run any optimization passes
-disable-simplify-libcalls - Disable simplify-libcalls
-enable-correct-eh-support - Make the -lowerinvoke pass insert expensive, but correct, EH code
-enable-load-pre -
-enable-objc-arc-opts -
-enable-tbaa -
-f - Enable binary output on terminals
-funit-at-a-time - Enable IPO. This is same as llvm-gcc's -funit-at-a-time
-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
-mtriple= - Override target triple for module
-o= - Override output filename
-p - Print module after each transformation
-print-after-all - Print IR after each pass
-print-before-all - Print IR before each pass
-print-breakpoints-for-testing - Print select breakpoints location for testing
-profile-estimator-loop-weight= - Number of loop executions used for profile-estimator
-profile-info-file= - Profile file loaded by -profile-loader
-profile-verifier-noassert - Disable assertions
-stats - Enable statistics output from program
-std-compile-opts - Include the standard compile time optimizations
-std-link-opts - Include the standard link time optimizations
-strip-debug - Strip debugger symbol info from translation unit
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
-asan - AddressSanitizer: detects use-after-free and out-of-bounds bugs.
-basicaa - Basic Alias Analysis (stateless AA impl)
-basiccg - Basic CallGraph Construction
-bb-vectorize - Basic-Block Vectorization
-block-freq - Block Frequency Analysis
-block-placement - Profile Guided Basic Block Placement
-branch-prob - Branch Probability Analysis
-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)
-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 - Induction Variable Simplification
-inline - Function Integration/Inlining
-insert-edge-profiling - Insert instrumentation for edge profiling
-insert-gcov-profiling - Insert instrumentation for GCOV 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
-lower-expect - Lower 'expect' Intrinsics
-loweratomic - Lower atomic intrinsics to non-atomic form
-lowerinvoke - Lower invoke and unwind, for unwindless code generators
-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
-objc-arc - ObjC ARC optimization
-objc-arc-aa - ObjC-ARC-Based Alias Analysis
-objc-arc-apelim - ObjC ARC autorelease pool elimination
-objc-arc-contract - ObjC ARC contraction
-objc-arc-expand - ObjC ARC expansion
-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.
-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
-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
-targetdata - Target Data Layout
-targetlibinfo - Target Library Information
-tbaa - Type-Based Alias Analysis
-tsan - ThreadSanitizer: detects data races.
-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)
-time-passes - Time each pass, printing elapsed time for each on exit
-vectorize - Run vectorization passes
-verify-dom-info - Verify dominator info (time consuming)
-verify-each - Verify after each transform
-verify-loop-info - Verify loop info (time consuming)
-verify-region-info - Verify region info (time consuming)
-version - Display the version of this program