LLVMの中間コードアセンブラを試す (Ubuntu編 & Windows編)

最近、LLVM-IR(LLVM中間コード)を生成するコンパイラを趣味で作っている。

これにはLLVMの中間コードアセンブラが必要なので、インストールしなくてはならない。
以前に、Ubuntu上でLLVMのソース一式を自前でビルドしたり、Mac OS X上でパッケージマネージャーでLLVM一式をインストールするのを試したりしていた。
Ubuntuマシンを初期化して中身を消してしまったり、MacについてはMacを使い慣れていないので、長いことコンパイラ作りが捗っていなかった。
やはり使い慣れているWindowsPC上で作業したいと思い、インストール方法を探してみた。
(Windows PC上で作業できるようになってからは、作業が捗ったので1週間ちょっとでコンパイラができた。もっと早くやっておけばよかった。)

最初は、WindowsPC上でVMwareを使った仮想環境でUbuntuを動かして、Ubuntu上でapt-getというパッケージマネージャーでLLVMをインストールした。
インストール方法は単純で、LLVMのバージョン3.4をインストールする場合には、次のようにコマンド入力すればよい。

sudo apt-get install clang-3.4 clang-3.4-doc libclang-common-3.4-dev libclang-3.4-dev libclang1-3.4 libclang1-3.4-dbg libllvm-3.4-ocaml-dev libllvm3.4 libllvm3.4-dbg lldb-3.4 llvm-3.4 llvm-3.4-dev llvm-3.4-doc llvm-3.4-examples llvm-3.4-runtime clang-modernize-3.4 clang-format-3.4 python-clang-3.4 lldb-3.4-dev

ただし、clangとかのコマンドは通るようになるのだけど、LLVM中間コードアセンブラのllvm-asなどのコマンドが使えない。
調べてみると、llvm-as-3.4という名前で/usr/bin/にインストールされている。
シンボリックリンクを手動で作ればllvm-asなどのコマンドが使えるようにすることが可能だ。
他にもllvm-objdump、llvm-link、lli、llcなどのコマンドも同様な状態になっているのでシンボリックリンクを作らないといけない。


Windows上で、Windows版のLLVMをインストールするというのも試してみた。
LLVM公式サイトからバイナリをダウンロードすることができる。
LLVM Download Page
LLVMバージョン3.4の場合、LLVM-3.4-win32.exeというインストーラーをダウンロードして実行すれば簡単にインストールできる。
しかし、これには問題があり、clangを使うことはできるのだけど、llvm-asなどのコマンドが使えない。インストールされているフォルダを調べても.exeが存在しないのだ。
最近、最新のバージョン3.7についても再度調べてみたが、やはり駄目なようだ。

ネットを検索すると、古いバージョンのminGW版というものならばllvm-asを含んでおり使うことができる。
「Experimental Clang Binaries for Mingw32/x86 clang+llvm-3.2-x86-mingw32-EXPERIMENTAL.tar.gz」というものを試してみた。
Mingwをインストールして、Mingwのgccのバージョンを古い物に入れ替えるなどの設定をしてやっと動くようになった。
このあたりが参考になった。(特に、後者の設定については自力では分からず困っていた。)
LLVM を Windows で使う(clang 編)
Thieves of BeagleBoard ビルド環境移行 – clang準備




コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

Time limit is exhausted. Please reload CAPTCHA.

94 − = 87