# Interprocedural Optimization Options

This section contains descriptions for compiler options that pertain to interprocedural optimization. They are listed in alphabetical order.

### Note

For the `ifort` compiler, support for Interprocedural Optimization (IPO) is disabled for macOS SDK 11 or higher.

Parent topic: Compiler Options

- ffat-lto-objects
  Determines whether a fat link-time optimization (LTO) object, containing both intermediate language and object code, is generated during an interprocedural optimization compilation (-c –ipo). This feature is only available for ifort.
- ip, Qip
  Determines whether additional interprocedural optimizations for single-file compilation are enabled. This feature is only available for ifort.
- ip-no-inlining, Qip-no-inlining
  Disables full and partial inlining enabled by interprocedural optimization options. This feature is only available for ifort.
- ip-no-pinlining, Qip-no-pinlining
  Disables partial inlining enabled by interprocedural optimization options. This feature is only available for ifort.
- ipo, Qipo
  Enables interprocedural optimization between files.
- ipo-c, Qipo-c
  Tells the compiler to optimize across multiple files and generate a single object file.
- ipo-jobs, Qipo-jobs
  Specifies the number of commands (jobs) to be executed simultaneously during the link phase of Interprocedural Optimization (IPO). This feature is only available for ifort.
- ipo-S, Qipo-S
  Tells the compiler to optimize across multiple files and generate a single assembly file. This feature is only available for ifort.
- ipo-separate, Qipo-separate
  Tells the compiler to generate one object file for every source file. This feature is only available for ifort.