2013-02-19 36 views
1

在llvm.org上有关于如何将Gold插件添加到LLVM-gcc的说明;但是从3.2版开始,他们不再使用LLVM-gcc,而是使用Clang来代替,并且不清楚如何使用它。如何在LLVM 3.2和Clang 3.3中使用Gold进行链接时间优化?

  1. 有谁知道如何添加Gold插件到LLVM 3.2?
  2. 我们是否需要安装此插件,还是嵌入在Clang中?

我读过,如果你没有黄金插件作为接头,如果您尝试-O4为LTO就会将其视为-O3,但我想这是当你使用时,使用gcc系统链接,而不是锵,对吧?

回答

0

1-如果你不想改变home/bin目录中的任何东西,那么你可以编译并安装binutils和LLVM在同一个地方,它会自动在llvm/bin中生成ld,ar和(不是ld_new)目录,因为llvm首先查找自己的目录来查找工具(clang -print-search-dirs),所以你可以确定clang会首先在链接时调用ld gold。它在LLVMgold.html中没有提到,但它需要在lib中创建bfd-plugins目录并在那里安装LLVMgold.so和linLTO.so。

2-为了支持LLVM中的LTO,我们需要黄金插件并需要重建以支持它。 -O4类似于-O3 -flto