LLVMのフロントエンドとバックエンド
LLVMを使っている言語ってどんなものがあるのか聞かれたり、自分でもどれくらいあるのか気になっていたのでまとめてみた。
フロントエンドはある言語からLLVM IRに変換するもののこと。
バックエンドはLLVM IRから他の言語に変換するもの(トランスレータ)のことで、x86やARM等のようなターゲットに関しては挙げていません。
フロントエンドに関してはここで挙げているものは一般的な言語のみ。有名なのに名前が挙がってないのは忘れているだけ。DSLのようなものを含めるともっとあるはず。
バックエンドは何があるのか調べるのが面倒なので適当に挙げてるだけ。
他にこれも書いておけというのがあれば追加していきます。
フロントエンド
バックエンド
- C
- CBackend
- 3.1で消えたが3.2で復活するかも
- CBackend
- JavaScript
- GPU
- PTX Backend
- NVPTXに置き換えられる
- PTX Backend
- JVM
- Verilog