This section describes the following KAP directives:
C*$* [no]inline [here|routine|global] [(name[,name..])] C*$* [no]ipa [here|routine|global] [(name[,name..])]
The C*$* inline
and C*$*ipa
directives
tell KAP to inline or IPA the named routines. The C*$*
noinline
and C*$* noipa
directives tell KAP not
to inline or analyze the named routines. These directives combine
next-line, entire routine, and global (entire program) scope. If
none of the optional elements are included, all routines referenced
on the next line of code that are in the inlining/analyzing universe
are inlined on that line.
These directives are disabled by default. They are enabled when any
inlining or IPA qualifier, respectively, is given on the command
line. They can be enabled without activating the automatic inlining
/IPA selection algorithms with the /inline_manual
and
/ipa_manual
command qualifiers. They are not restricted
by the other inlining and IPA command qualifiers, and can be used
instead of, or in addition to, command-line controlled inlining.
noinline/noipa
, it applies until the corresponding
inline/IPA directive.
noinline/noipa
, it applies until the corresponding
inline/IPA directive. Typically, global directives appear only
at the top of the source file. The same routine name may not
appear in both global inlining and global IPA lists, either by
directives or the /inline= /ipa=
qualifiers.
The optional names are routine names. If any routines are named in the directive, it applies only to them. If NO routine names are given, the directive applies to ALL routines. The parentheses around the routine names are not required if the list of routine names is empty.
If a C*$* inline
or C*$* ipa
names a
routine not in the corresponding universe, a Warning message is
issued, and the directive is ignored.