Llvm 单片链接时间优化是否适用于静态库?

Llvm 单片链接时间优化是否适用于静态库?,llvm,link-time-optimization,Llvm,Link Time Optimization,讨论对象文件如何包含用于链接时间优化的LLVM IR。但是,如果链接器正在编译一个包含静态库的项目,那么静态库是否也包含该信息呢?如果是,在什么情况下?是。静态库也可以包含llvm IR位代码 A.使用llvm IR位码构建静态库的步骤 在Xcode静态库项目中: 生成设置->启用位码,切换到是 Product->Archive B.检查静态库是否包含llvm IR位码。 otool-l libDemo.a 在输出中,搜索uu bitcode,并检查大小是否大于000001。 如果size>00

讨论对象文件如何包含用于链接时间优化的LLVM IR。但是,如果链接器正在编译一个包含静态库的项目,那么静态库是否也包含该信息呢?如果是,在什么情况下?

是。静态库也可以包含llvm IR位代码

A.使用llvm IR位码构建静态库的步骤
  • 在Xcode静态库项目中:
    生成设置->启用位码
    ,切换到
  • Product->Archive
  • B.检查静态库是否包含llvm IR位码。
  • otool-l libDemo.a
  • 在输出中,搜索
    uu bitcode
    ,并检查
    大小是否大于000001。
    如果
    size
    >000001:则静态库包含llvm IR位码
    else:静态库不包含llvm IR位代码

  • 希望这能回答您的问题。

    这是否意味着也需要为提供给链接器的目标文件启用位代码?这取决于,如果您需要在最终生成的二进制文件中包含位代码,那么答案是
    。如果您只是做了一些事情(可能像我一样进行位码优化),那么您的答案是