5.8.4.3 XC-DSC C++ Compiler - Optimization
| Option | Description | Command Line |
|---|---|---|
| Optimization Level | Select an optimization level.
Equivalent to -On option, where
n is an option. See 6.7.6 Options for Controlling Optimization.Your compiler license may support only some optimizations. See the 19 Optimizations section. | -On |
| Unroll loops | Check to perform the optimization of
loop unrolling. This is only done for loops whose number of iterations
can be determined at compile time or run time. Uncheck to not unroll loops. | -funroll-loops |
| Omit frame pointer | Check to not keep the Frame Pointer in
a register for functions that don’t need one. Uncheck to keep the Frame Pointer. | -fomit-frame-pointer |
| Pre-Optimization instruction scheduling | Reorders instructions before register allocation to hide latency and reduce pipeline stalls. | |
| Post-Optimization instruction scheduling | Reorders machine code instructions to minimize pipeline stalls after physical registers are assigned. | |
| Use common tentative definitions | Controls the placement of global variables defined
without an initializer, known as tentative definitions in the C
standard. Tentative definitions are distinct from declarations of a
variable with the extern keyword, which do not allocate
storage. Enable - Allocates storage for uninitialized global variables in a common block. This allows the linker to resolve all tentative definitions of the same variable in different compilation units to the same object, or to a non-tentative definition. Disable - Specifies that the compiler should instead place uninitialized global variables in the data section of the object file. This inhibits the merging of tentative definitions by the linker so you get a multiple-definition error if the same variable is defined in more than one compilation unit. | -fcommon,
-fno-common |
