如果在clang中使用链接时间优化,是否有可能跨C和C++语言边界对代码进行优化?
例如,C函数可以内联到C++调用者中吗?反之亦然?
发布于 2017-12-30 12:08:03
AFAIK,是的,因为Clang产生LLVM中间表示,而LTO发生在LLVM字节码上。
顺便说一句,任何类型的link-time-optimization都会发生在(编译代码的)某种中间表示上,而不仅仅是带有relocation的machine code上,因为它保存在每个object file中。在LTO中,无论使用什么表示( GCC中的GIMPLE,Clang中的LLVM )都会添加和使用这些额外的信息(这就是为什么目标文件变得更胖的原因)。
https://stackoverflow.com/questions/48030818
复制相似问题