Intel® oneAPI DPC++/C++ Compiler Developer Guide and Reference

ID 767253
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

Performance Considerations

IPO-Related Performance Issues

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. Intel® compilers cannot inspect mock object files generated by other compilers for optimization opportunities.

Make sure to update make files to call the LLVM linker when using IPO from scripts. You can use the option -fuse-ld=lld to tell the compiler to use the lld linker.

See Also