针对clang的LTO可以跨C和C ++方法进行优化

时间:2017-12-30 04:04:05

标签: c++ c clang clang++

如果链接时优化(LTO)与clang一起使用,是否可以跨C和C ++语言边界优化代码?

例如,可以将C函数内联到C ++调用者中,反之亦然吗?

1 个答案:

答案 0 :(得分:1)

AFAIK,是的,因为Clang生成LLVM中间表示,LTO发生在LLVM字节码上。

BTW任何类型的link-time-optimization发生在某些中间表示(已编译的代码)上,而不仅仅发生在machine code relocation上。 object file。 LTO,无论使用何种表示形式(GCC中的GIMPLE,Clang中的LLVM)都在添加和使用这些额外信息(这就是目标文件变得更胖的原因)。