この記事は言語実装 Advent Calendar 2016の19日目の記事です。 以前からLLVMに興味があり、機会1が出来たのでLLVMをやってみた(というより使ってみた)記録です。 自分はコンパイラ・言語処理系に関してはほぼ素人でありここに書いてあることが間違っているかもしれないのでツッコんでいただけるとありがたいです。 また、他のIR(中間言語)を知らないので言語仕様的に.NETやJVMとの比較はせずあくまで自分がLLVMを見た時に感じたことを書いていきます。 対象読者 言語処理系の基礎は知っている プログラムがどうコンパイル、実行されるか アセンブリ言語の基礎を知っている 例えばfor文がどうやってアセンブリ言語で実現されているか C++が読める そんなに高度な機能は使っていない気がする(筆者自身C++チョットデキル程度)ので知らなくてもなんとかなると思います LLVMとは 公