ILE C/C++ Compiler Reference


INLINE

Allows the compiler to consider replacing a function call with the called function's instructions. Inlining a function eliminates the overhead of a call and can result in better optimization. Small functions that are called many times are good candidates for inlining.

Note:
When specifying an INLINE option, all preceding INLINE options must also be specified, including their defaults.

Read syntax diagramSkip visual syntax diagramINLINE Syntax:
 
|--+---------------------------------------------------------------+--|
   '-INLINE(--+-----------------------------------------------+--)-'
              | .-*OFF-.                                      |
              '-+-*ON--+--+---------------------------------+-'
                          | .-*AUTO---.                     |
                          '-+-*NOAUTO-+--| INLINE Details |-'
 
INLINE Details (continued):
 
|--+----------------------------------------------+-------------|
   | .-250------.                                 |
   '-+-1-65535--+--+----------------------------+-'
     '-*NOLIMIT-'  | .-2000-----.               |
                   '-+-1-65535--+--+----------+-'
                     '-*NOLIMIT-'  | .-*NO--. |
                                   '-+-*YES-+-'
 

The possible INLINE options are:

Inliner
Specifies whether inlining is to be used.
*OFF
Default setting. Specifies that inlining will not be performed on the compilation unit.
*ON
Specifies that inlining will be performed on the compilation unit. If a debug listing view is specified, the inliner is turned off.
Mode
Specifies whether the inliner should attempt to automatically inline functions depending on their Threshold and Limit.
*AUTO
Specifies that the inliner should determine if a function can be inlined based on the specified Threshold and Limit. The #pragma noinline directive overrides *AUTO.
*NOAUTO
Specifies that only the functions that have been marked for inlining should be considered candidates for inlining. Functions marked for inlining include C functions for which the #pragma inline directive was specified, C++ functions declared with the inline keyword, and C++ functions marked for inlining by language rules. This is the default.
Threshold
Specifies the maximum size of a function that can be a candidate for automatic inlining. The size is measured in Abstract Code Units. Abstract Code Units are proportional in size to the executable code in the function; C and C++ code is translated into Abstract Code Units by the compiler.
250
Specifies a threshold of 250. This is the default.
1-65535
Specifies a threshold from 1 to 65535.
*NOLIMIT
Defines the threshold as the maximum size of the program.
Limit
Specifies the maximum relative size a function can grow before auto-inlining stops.
2000
Specifies a limit of 2000. This is the default.
1-65535
Specifies a limit from 1 to 65535.
*NOLIMIT
Limit is defined as the maximum size of the program. System limits may be encountered.
Report
Specifies whether to produce an inliner report with the compiler listing.
*NO
The inliner report is not produced. This is the default.
*YES
The inliner report is produced. OUTPUT(*PRINT) must be specified to produce the inliner report.

[ Top of Page | Previous Page | Next Page | Contents | Index ]