对于gcc来说,这个answer告诉我们如何验证链路时间优化是如何执行的.对于clang,我看不到任何类似于.gnu.lto
的条目。
更具体地说,我有一个二进制文件,我确信LTO应该有很大的好处,但我什么也没看到。我想知道cmake是否真的做了正确的事情。
有没有办法通过查看二进制文件或*.o文件来判断clang是否执行了LTO?
发布于 2018-06-29 06:06:27
一个选项是尝试在您的一个llvm-dis
文件上运行.o。如果实际执行了LTO,则.o文件包含llvm,而llvm-dis
将生成包含humain可读的llvm的.ll文件。否则,它将产生错误消息" error :无效的bitcode签名“。
发布于 2019-03-07 19:36:59
file
实用程序将报告该文件为"LLVM“。LLVM/clang的LTO工具不生成"fat“对象文件,它只是IR。
https://stackoverflow.com/questions/51048414
复制相似问题