2013-02-19 35 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