User`s guide
Pragmas for the DSP56800 and DSP56800E
Pragma Reference
389Targeting MC56F83xx/DSP5685x Controllers
Remarks
Bottom-up function inlining tries to expand up to eight levels of inline leaf functions.
The maximum size of an expanded inline function and the caller of an inline function
can be controlled by the pragmas shown in Listing C.10
and Listing C.11.
Listing C.10 Maximum Complexity of an Inlined Function
// maximum complexity of an inlined function
#pragma inline_max_size( max ) // default max == 256
Listing C.11 Maximum Complexity of a Function that Calls Inlined Functions
// maximum complexity of a function that calls inlined functions
#pragma inline_max_total_size( max ) // default max == 10000
where max loosely corresponds to the number of instructions in a function.
If you enable this pragma, the compiler calculates inline depth from the last function in
the call chain up to the first function that starts the call chain. The number of functions
the compiler inlines from the bottom depends on the values of inline_depth,
inline_max_size, and inline_max_total_size. This method generates
faster and smaller source code for some (but not all) programs with many nested inline
function calls.
If you disable this pragma, top-down inlining is selected, and the inline_depth
setting determines the limits for top-down inlining. The inline_max_size and
inline_max_total_size pragmas do not affect the compiler in top-down mode.
This pragma corresponds to the Bottom-up Inlining setting in the C/C++ Language
panel. To check this setting, use __option (inline_bottom_up), described in
Checking Settings
. By default, this pragma is disabled.
inline_depth
Controls how many passes are used to expand inline function calls.