先日LLVMの入門記事を書きました。 clangが吐くLLVM IR (Intermediate representation, 中間表現) を頼りに、Brainf**kのコンパイラを書いてみました。 itchyny.hatenablog.com この記事で書いたコードでは、直接printfでLLVM IRの命令を出力していました。 このステップを踏むことで、LLVM IRの命令をどう調べればいいかについて身についたと思います。 しかし、この「コンパイラ」は次のような問題がありました。 bf2llvmコマンドが出力するのがLLVM IRのために、lliやllcといったLLVM IRのランタイムやコンパイラが必要となる 最適化を行うにはさらにoptコマンドが必要になり、やはりLLVMツールチェインをインストールしている環境でしか使えない ソースコードから実行ファイルまでのパスの中で、LLVM
