Intel® Fortran Compiler 17.0 Developer Guide and Reference
There are some general optimization guidelines for using IPO that you should keep in mind:
Using IPO on very large programs might trigger internal limits of other compiler optimization phases.
Applications where the compiler does not have sufficient intermediate representation (IR) coverage to do whole program analysis might not perform as well as those where IR information is complete.
In addition to these general guidelines, there are some practices to avoid while using IPO. The following list summarizes the activities to avoid:
Do not use the link phase of an IPO compilation using mock object files produced for your application by a different compiler. The Intel® Compiler cannot inspect mock object files generated by other compilers for optimization opportunities.
Update make files to call the appropriate Intel linkers when using IPO from scripts. For Linux and OS X, replace all instances of ld with xild; for Windows, replace all instances of link with xilink.