【问题标题】:Do I have to fully rebuild LLVM after editing a file?编辑文件后是否必须完全重建 LLVM?
【发布时间】:2019-06-17 18:50:25
【问题描述】:

我正在调整 LLVM 文件并在我的构建目录中执行“制作”以使用调整后的文件重建 LLVM,即使我的更改很小(我知道我的一个文件会影响其他文件) )。我必须使用'cmake --build'吗?在构建目录中生成一个新的make文件,或者只调用'make'是否正确。重建通常需要一段时间吗?

【问题讨论】:

  • 您是在构建发布版还是调试版?如果 debug,值得看一下 LLVM_OPTIMIZED_TABLEGEN。构建调试表非常慢!

标签: llvm llvm-clang llvm-ir


【解决方案1】:

我认为,大部分时间都花在重新链接二进制文件上,其中 LLVM 有很多(optllc 等)。加快构建速度的一种选择是启用LLVM_BUILD_LLVM_DYLIBLLVM_LINK_LLVM_DYLIB,另一种是发出make opt 而不是make,如果您主要使用opt

这些选项将使构建系统生成一个包含所有 LLVM 组件(LLVMSupport、LLVMCodegen 等)的大型动态库(.so 或 .dll),并使工具链接到它。链接到动态库要快得多,因为您不需要重新链接每个工具可执行文件的所有静态代码。

【讨论】:

  • 谢谢,您能否详细说明 LLVM_BUILD_LLVM_DYLIB 和 LLVM_LINK_LLVM_DYLIB 如何帮助加快速度?
  • @arthrax 更新了我的答案。
  • 谢谢!我会用这些选项重建它
【解决方案2】:

另外,例如,如果您只是修改后端目标,那么在 tools/llc 目录中发出 ma​​ke 就足够了。这样只会重新链接所需的工具,从而加快构建过程。

【讨论】:

    猜你喜欢
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多