2010年04月08日

LLVM をバックエンドに使用する CPU シミュレータライブラリ libcpu

私が LLVM を調査しているのは、Multi-Stage Optimization や直接 LLVM を iPhone のように組み込みソフトウェア開発で利用したいというよりも、

(1) C/C++ プログラムの静的解析に使えそう
(2) CPU シミュレータのバックエンドとして使えそう
(デバッガに組み込んだり、QEMU の TCG を置き換えたりできるのでは ?)

などの動機があったわけですが、(2) の方は既にプロジェクトが存在していました。

http://www.libcpu.org/wiki/index.php/Main_Page

twitter で mjt さんに教えていただきました。 (それ以前から mjt さんの日記で存在は知っていたのですが、LLVM を使っていたということは頭から抜け落ちていました。)

libcpu の面白い点として、リンク先の mjt さんの日記にもあるのですが、独自の CPU 仕様記述から CPU シミュレータの自動生成を (将来的には) 目指しているという点があります。あまり開発は活発では無い感じですが、今後に期待したいところです。

また、QEMU の TCG API を LLVM で置き換えるという方も、今ちょっと検索してみたところ、llvm-qemu - Backend for QEMU using LLVM components. というプロジェクトが存在していました。

http://code.google.com/p/llvm-qemu/

2007 年の GSoC ということは、当時はまだ QEMU 0.10.0 は出てないので、TCG ではなく dyngen の時代だと思われます。こちらは開発が停止している感じですね。

トラックバックURL

コメントする

名前
 
  絵文字
 
 
記事検索
最新コメント
アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

QRコード
QRコード