Developer Guide and Reference

Contents

optimization_level

Controls optimization for one function or all functions after its first occurrence.

Syntax

#pragma
[
intel
|
GCC
]
optimization_level
n
Arguments
intel|GCC
Indicates the interpretation to use
n
An integer value specifying an optimization level; valid values are:
  • 0: same optimizations as option
    -O0
    (Linux*
    and
    macOS*
    ) or
    /Od
    (Windows*)
  • 1: same optimizations as option
    O1
  • 2: same optimizations as option
    O2
  • 3: same optimizations as option
    O3
Description
The
optimization_level
pragma is used to restrict optimization for a specific function while optimizing the remaining application using a different, higher optimization level. For example, if you specify option level
O3
for the application and specify
#pragma optimization_level 1
, the marked function will be optimized at option level
O1
, while the remaining application will be optimized at the higher level.
In general, this pragma optimizes the function at the level specified as
n
; however, certain compiler optimizations, like Inter-procedural Optimization (IPO), are not enabled or disabled during translation unit compilation. For example, if you enable IPO and a specific optimization level, IPO is enabled even for the function targeted by this pragma; however, IPO might not be fully implemented regardless of the optimization level specified at the command line. The reverse is also true.
Scope of optimization restriction
On Linux*
and
macOS*
systems, the scope of the opti