Use the following qualifiers to create a preprocessed
library. To specify an existing library file to inline
from, use /inline_from_libraries=
or
/ipa_from_libraries=
, as follows:
/inline_create=<library name> [/incr] /ipa_create=<library name> [/ipacr]
The default source for functions to put into the library is
the current source file. If /inline_from...
or
/ipa_from...
is specified, the functions in the
listed files are the ones put into the library. This provides
a method to combine or expand libraries - just include the
old library(ies) in an /inline_from_libraries
or /ipa_from_libraries
qualifier, along with an
/inline_from_files
or /ipa_from_files
qualifier giving source files containing any new functions.
Functions are included in libraries in the order in which they
appear in the input files. This is to make sure that if multiple
functions with the same name are in the same source file, the one
chosen for inlining will be the one you expect from the algorithm
under /inline_from...
.
A library created with /inline_create
will work for
inlining or IPA, because it is just partially reduced source code.
However, a library created with /ipa_create
may not
appear in an /inline_from=
list. It is flagged with a
Warning message.
If no library name is given, the name used is file.klib
, where file is the input file name with any trailing
.c
stripped off.
When creating a library, only one /inline_create
(/ipa_create
) qualifier may be given. That is, only
one library may be created per KAP run. If the library file existed
prior to running KAP, it is overwritten.
When /inline_create
(/ipa_create
) is
specified on the command line, no transformed code file will be
generated.
See the description of the /inline_from_libraries
and
/ipa_from_libraries
qualifiers for information about
using libraries created with these qualifiers.
If the /inline
(/ipa
) qualifier is not
given, or is given without a list of function names, the default
will be to include all the functions from the inlining universe in
the library, if possible. If /inline=<name list>
or
/ipa=<name list>
is specified, only the named functions
will be included in the library.