llvm : GC, bitcode
llvmのGC*1およびビットコード*2に関するドキュメントに、ごく簡単に目を通す。
GC
llvmはすぐに使えるようなGCを提供してはいなかった。
ただ、GCを組み込むことはあらかじめ想定されており、そのためのフレームは用意されているようなので、GCを実装・利用するのは比較的楽そう。
他の言語との連携や、GCアルゴリズムを実装することの楽しみ(?)を考慮すると、特定のGCの使用を強制されない方が個人的にはありがたい*3。
このドキュメントは必要に応じて適宜参照する。
ビットコード
llvmのビットコード(バイトコード)のフォーマットも文書化されていた。
今のところ、あらかじめ用意されているC++のコードジェネレータは使わないで、common lispでコード生成部も作成するつもりなので、ビットコードフォーマットはまず初めに把握しておく必要あり*4。