The IPA process

  1. At compile time optimizations occur on a file-by-file basis, as well as preparation for the link stage. IPA writes analysis information directly into the object files the compiler produces.
  2. At the link stage, IPA reads the information from the object files and analyzes the entire application.
  3. This analysis guides the optimizer on how to rewrite and restructure your application and apply appropriate -O3 level optimizations.

The Using interprocedural analysis section contains more information on IPA including details on IPA suboptions.

Beyond -qipa, -O4 enables other optimization options: