如果链接时优化(LTO)与clang一起使用,是否可以跨C和C ++语言边界优化代码?
例如,可以将C函数内联到C ++调用者中,反之亦然吗?
答案 0 :(得分:1)
AFAIK,是的,因为Clang生成LLVM中间表示,LTO发生在LLVM字节码上。
BTW任何类型的link-time-optimization发生在某些中间表示(已编译的代码)上,而不仅仅发生在machine code relocation上。 object file。 LTO,无论使用何种表示形式(GCC中的GIMPLE,Clang中的LLVM)都在添加和使用这些额外信息(这就是目标文件变得更胖的原因)。