LLVMを試そうとして失敗

The LLVM Compiler Infrastructure Projectというコンパイラインフラストラクチャがある。
これは、私自身正直あまりよくわかっていないが、言語処理系の最適化を研究するための汎用的な中間言語およびその実装で、GCCフロントエンドを使えるようにしてあったり、中間言語を各種プロセッサのマシン語に変換できたりもするので、全体としてふつーのCコンパイラとして使えるというもの。
噂によると結構速いコード生成するらしい&Cellに対応しているらしいので、Getting Started with the LLVM System — LLVM 9 documentationを参考にしながら試してみる。
試した環境は以下の通り。

llvmのビルド

参考ページを見てもどれからビルドしていいのかよくわからなかったが、まぁアセンブラみたいなものからだろうと決めつけてllvm-2.2.tar.gzを最初にビルドする。いきなりOS側にいれるのも恐いので、configureで~/Optを指定しておく。

tar xzf llvm-2.2.tar.gz
cd llvm-2.2
./configure --prefix=$HOME/Opt
make
make install

…ってビルド始めてみたら相当な数のソースコードがあるみたいで、いつまでたっても終わらないので気長に待つ。結局1時間以上かかった。

llvm-gccのビルド

そしてgccのフロントエンドをビルドする。

tar xzf llvm-gcc4.2-2.2.source.tar.gz
cd llvm-gcc4.2-2.2.source
./configure --prefix=$HOME/Opt
make

するとすぐにエラーとなってしまう。

GNUmakefile:16: /CoreOS/Standard/Standard.make: No such file or directory
make: *** No rule to make target `/CoreOS/Standard/Standard.make'.  Stop.

よくよくドキュメントを探してみると、http://llvm.org/docs/GCCFEBuildInstrs.htmlにやり方がのってるするようなのであわせる。
まずはllvm

mv llvm-2.2 llvm
mkdir llvm-objects
cd llvm-objects
../llvm/configure --prefix=$HOME/Opt
make
make install

その後GCCフロントエンド。configureのオプションは微妙に変える。(cとadaだけじゃなくでc++も使いたいから)

mv llvm-gcc4.2-2.2.source llvm-gcc-4.2
mkdir llvm-gcc-4.2-objects
cd llvm-gcc-4.2-objects
../llvm-gcc-4.2/configure --prefix=$HOME/Opt --enable-checking --enable-llvm=$PWD/../llvm-objects --disable-shared --disable-bootstrap --disable-multilib
make

とやってGCCのフロントエンドをビルドする…んだけどrs6000.cがコンパイルできずにエラーで止まってしまう。
何が悪いんだろ?