Admin Production ni-theme
Current Publication

Optimizing for Speed Levels

LabWindows/CVI

Optimizing for Speed Levels

The following table describes the compiler optimization that each optimization level provides. Specify the optimization level you want to use for your project in the Build Options dialog box. For more information about the behavior of each compiler optimization, refer to the LLVM website1.

Optimize for Speed (Level 1)

Compiler Optimization Description
-adce Aggressive dead code elimination
-deadargelim Dead argument elimination
-deadtypeelim Dead type elimination
-dse Dead store elimination
-globalopt Global variable optimizer
-indvars Canonicalize induction variables
-inline Function integration/inlining
-instcombine Combine redundant instructions
-ipsccp Interprocedural sparse conditional constant propagation
-functionattrs Deduce function attributes
-jump-threading Jump threading
-lcssa Loop-closed SSA form pass
-licm Loop invariant code motion
-loop-deletion Delete dead loops
-loop-rotate Rotate loops
-loop-simplify Canonicalize natural loops
-loop-unswitch Unswitch loops
-memcpyopt MemCpy optimization
-prune-eh Remove unused exception handling info
-reassociate Reassociate expressions
-scalarrepl-ssa Scalar replacement of aggregates (DT)
-sccp Sparse conditional constant propagation
-simplifycfg Simplify the CFG
-simplify-libcalls Simplify well-known library calls
-strip-dead-prototypes Strip unused function prototypes
-tailcallelim Tail call elimination
-correlated-propagation Correlated value propagation
-early-cse Eliminate redundant instructions
-loop-idiom Transform simple loops

Optimize for Speed (Level 2)

In addition to the compiler optimizations included in Level 1, Level 2 provides the following:

Compiler Optimization Description
-constmerge Merge duplicate global constants
-gvn Global value numbering
-loop-unroll Unroll loops

Optimize for Speed (Level 3)

In addition to the compiler optimizations included in Levels 1 and 2, Level 3 provides the following:

Compiler Optimization Description
-argpromotion Promote by reference arguments to scalars
-globaldce Dead global elimination

1 Documentation Notice for LLVM License

This document includes content from LLVM 3.3 licensed by a third party or parties pursuant to the LLVM License that is subject to the following notice(s):

Copyright © 2003-2013 University of Illinois at Urbana-Champaign