# Interprocedural Optimization (IPO) Options

This section contains descriptions for compiler options that pertain to interprocedural optimization.

### Note

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

Parent topic: Compiler Option Details

- 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).
- ip, Qip
  Determines whether additional interprocedural optimizations for single-file compilation are enabled.
- ip-no-inlining, Qip-no-inlining
  Disables full and partial inlining enabled by interprocedural optimization options.
- ip-no-pinlining, Qip-no-pinlining
  Disables partial inlining enabled by interprocedural optimization options.
- 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).
- ipo-S, Qipo-S
  Tells the compiler to optimize across multiple files and generate a single assembly file.
- ipo-separate, Qipo-separate
  Tells the compiler to generate one object file for every source file.