Inlining is the process of replacing a function reference with the text of the function. Inlining eliminates the overhead of the function call, and can assist other optimizations by making relationships between function arguments, returned values, and the surrounding code easier to find.
IPA is the process of inspecting called functions for information on relationships between arguments, returned values, and global data. IPA can provide many of the benefits of inlining, but without replacing the function reference.
The rest of this chapter covers the inlining and IPA command
qualifiers and pragmas, related command qualifiers, examples of
their use, and information about program constructs that inhibit
inlining. Inlining and IPA are almost symmetrical from the command-
line standpoint - there are parallel sets of commands and pragmas
for them. The exception is /inline_depth
. In many
places in this chapter, the term "inlining" applies to both inlining
and IPA.