6.2.3 Naming Specific Functions

The following qualifiers specify names of particular functions to inline. The default is all functions in the function universe specified by any /inline_from... (/ipa_from... ) qualifiers, subject to the /inline_looplevel /ipa_looplevel and /inline_depth settings.

/inline[=name[,name..]]    [/inl=]
/ipa[=name[,name..]]       [/ipa=]

Inlining and IPA are off by default. That is, if you do not specify inlining (IPA) qualifiers, then no inlining (IPA) will take place.

If you omit /inline (/ipa ) from the command line, you can still enable automatic selection of functions to inline (analyze) with one of the /..._from_... qualifiers. You can perform manual selection of functions to inline (analyze) with the /inline_manual (/ipa_manual ) qualifiers and the inline (IPA) pragmas.

If you specify /inline (/ipa ) on the command line without a list of function names, then all functions in the inlining (IPA) universe are eligible, subject to the /inline_looplevel (/ipa_looplevel ) value.

If you specify /inline (/ipa ) on the command line with a list of function names, then only the functions that are included in the list are eligible, subject to the /inline_looplevel (/ipa_looplevel ) and /inline_depth values.

The following qualifiers have no versions, but they must have arguments, as follows:

/noinline=name[,name..]    [/ninl=]
/noipa=name[,name..]       [/nipa=]

These qualifiers enable the automatic inlining (IPA) algorithms in the same way that inline (IPA) does when given without arguments, but the functions listed are ones to NOT be inlined (analyzed). That is, all the functions but the named ones are eligible.

You cannot specify both /inline and /noinline (/ipa and /noipa ) on the same command line.

If all call sites of a function are to be inlined, the following variant of the /inline qualifier may be of interest:

/inline_and_copy[=name[,name..]]        [/inlc=]

The /inline_and_copy command qualifier functions like the /inline qualifier, except that if all references to a function are inlined, the inlined function is copied to the transformed code file unchanged.

When a function has been inlined everywhere it is used, not optimizing it saves compilation time and deleting its text saves memory. These qualifiers are intended for use when the functions being inlined are in the same file as the function reference, and have no special effect when the functions being inlined are being taken from a library or another source file.


Note
These qualifiers assume that all references to a function to be inlined precede it in the source file, and that the file being processed will not be combined or linked with files containing references to the inlined functions. With /inline_and_copy , later references in the same file will either be inlined or execute the unoptimized function; references in other files will execute the unoptimized function.


Previous Page Next Page Contents Index
Command-Line Qualifiers