2012年10月8日 星期一

建置與安裝 LLVM + Clang

這篇文章教你怎麼從 LLVM trunk 下載 Source code, 並且建置與安裝 LLVM + Clang




下載程式碼

git clone http://llvm.org/git/llvm.git llvm
cd llvm/tools
git clone http://llvm.org/git/clang.git
cd ../../


建置 llvm

有興趣的話 configure 可以加個 --enable-cxx11
--enable-optimized 則是會用 -O2 來建置
mkdir build-llvm
cd build-llvm
../llvm/configure --prefix=$HOME --enable-optimized
make -j8
make install


將 llvm 加入 path

將下面那一行加到 .bashrc 中
export PATH=$HOME/bin:$PATH
然後重新開啟一個 console/terminal 以利重新載入環境變數 接著檢查一下路徑看看是不是正確的
which clang
預期應該是會輸出
~/bin/clang

接著執行看看吧!

clang -v
應該是會跟你吐類似下面的訊息, 在不同電腦上可能會有一點不同
clang version 3.2 
Target: x86_64-unknown-linux-gnu
Thread model: posix
clang 的選項大致上跟 gcc 很類似, 可以 --help 看一下選項
clang --help

使用 clang 編譯

clang hello.c -o hello

使用 clang 編譯成 bitcode

clang hello.c -o hello.bc -c -emit-llvm

使用 clang 編譯成 bitcode, 並且使用 lli 執行

clang hello.c -o hello.bc -c -emit-llvm
lli hello.bc


把玩 LLVM

[1] LLVM 寫一個 pass - 入門篇
[2] Writing an LLVM Pass