7.1.3 Naming Specific Routines

The following specifies names of particular routines to inline:

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

The default is all routines in the universe specified by any -inline_from... (-ipa_from...) switches, subject to the -inline_looplevel (-ipa_looplevel) setting.

Inlining and IPA are off by default, that is, if you do not specify inlining (IPA) switches and no inlining (IPA) directives are found in the source code, no inlining (IPA) will take place.

If you omit -inline (-ipa) from the command line, automatic selection of routines to inline is disabled. You can perform manual selection of routines to inline (analyze) with the -inline_manual (-ipa_manual) switches and the inline and IPA directives.

If you specify -inline (-ipa) on the command line without a list of routine names, then all routines in the inlining (IPA) universe are eligible, subject to the -inline_looplevel (-ipa_looplevel) and -inline_depth values.

If you specify -inline (-ipa) on the command line with a list of routine names, then only the routines that are included in the list are eligible, subject to the -inline_looplevel (-ipa_looplevel) and -inline_depth values. The list items can be separated by commas or colons.

These switches have no versions, but they must have arguments, as follows:

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

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

A list of function names is required.

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

If all call sites of a subroutine or function are to be inlined, this variant of the -inline switch may be of interest:

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

The -inline_and_copy command switch functions like the -inline switch, except that if all references to a function in the source file are inlined, the text of the function is copied to the transformed code file unchanged. This is intended for use when the functions being inlined are in the same file as the function reference, and has no special effect when the routines being inlined are being taken from a library or another source file.


Previous Page | Next Page | Contents | Index |
Command Line Switches