User`s guide
Pragmas for the DSP56800 and DSP56800E
Pragma Reference
390
Targeting MC56F83xx/DSP5685x Controllers
Prototype
#pragma inline_depth(n)
#pragma inline_depth(smart)
Remarks
Sets the number of passes used to expand inline function calls. The number n is an
integer from 0 to 1024 or the smart specifier. It also represents the distance allowed
in the call chain from the last function up. For example, if d is the total depth of a call
chain, then functions below (d-n) are inlined if they do not exceed the following size
settings:
#pragma inline_max_size(n);
#pragma inline_max_total_size(n);
The first pragma sets the maximum function size to be considered for inlining; the
second sets the maximum size to which a function is allowed to grow after the
functions it calls are inlined. Here, n is the number of statements, operands, and
operators in the function, which turns out to be roughly twice the number of
instructions generated by the function. However, this number can vary from function
to function. For the inline_max_size pragma, the default value of n is 256; for
the inline_max_total_size pragma, the default value of n is 10000.
The smart specifier is the default mode, with four passes where the passes 2-4 are
limited to small inline functions. All inlineable functions are expanded if
inline_depth is set to 1-1024.
The pragmas dont_inline and always_inline override this pragma. This
pragma corresponds to the Inline Depth setting in the C/C++ Language
panel. By
default, this pragma is disabled.
interrupt (for the DSP56800)
Controls the compilation of object code for interrupt service routines (ISR).
Compatibility
This pragma is compatible with the DSP56800, but it is not compatible with the
DSP56800E. For the DSP56800E, see interrupt (for the DSP56800E)
.