对整个程序代码进行的一种优化,是 LLVM 里在链接时进行跨模块间的优化。

LTO 属于 IPO(interprocedural optimization) 当中的一种优化,根据维基百科的解释,IPO 是优化代码的一系列编译器优化技术的集合,不同于其他的优化技术,IPO 聚焦于分析整个程序代码。

把一些 pass 的优化推迟到链接时再执行,从而使这些 pass 获得跨模块优化的能力。