LLVM-IR(LLVM中間コード)の参考書や参考にしたwebサイトのメモ。
参考書。
きつねさんでもわかるLLVM ~コンパイラを自作するためのガイドブック~(Amazon)
と、
LLVM/Clang実践活用ハンドブック(Amazon)
コンパイラを作ってみるのに参考にした。
きつねさん本はきっかけになったが、あまり参考にならなかった。
実践活用ハンドブックは、ある程度は参考になった。
LLVM-IR(LLVM中間コード)で難しい点は、
・SSA(静的単一代入形式)の仕組み
・φ命令(phi命令)の仕組み
の2点なのだけど、上記の2冊の参考書だけで理解するのは結構難しいと思う。
参考になるwebサイトも見つからなかった。
結局、自分で試行錯誤して理解した。
(phi命令については自分では使いこなせないので、使わないことにした。)
あと、
コンパイラを実際に作るには、全部のLLVM-IRの命令語の説明書が必要なのだけど、きつねさん本には載っていない。実践活用ハンドブックも紙面不足でしっかりと説明されていない。
これについては参考になるwebサイトがあった。
→ LLVM 言語マニュアル(Language Reference Manual)
とても役に立った。