8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

LLVM C API を使う.

Posted at

LLVM には C++ と C API が用意されています. 最近は FTL http://blog.llvm.org/2014/07/ftl-webkits-llvm-based-jit.html のおかげで C API の整備が大分進み, 十分使える感じになっています.

C API のほうがコンパイル時間も短くて済み, また言語バインディングを書くとなども, リンケージや ABI 問題に悩まされなくなります. これからは C API で書いておきたいですね.

LLVM C API のサンプル

ひとつの大きな問題はドキュメントやサンプルコードがオフィシャルには無い事です.

幸い FTL(webkit) には RefucedFTL という謎(?)の LLVM C API を使ったサンプルがあります.

これをみれば大体わかりますね!

昨今の LLVM では MCJIT が推奨のようです. ExecutioEngine には MCJIT を使い, LLVMLinkInMCJIT() を忘れずに呼び出しておきましょう.

8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?