LLVM IRを解析するには

私はテキスト形式のLLVM IRコードを持っています。私がしたいのは、それを解析してそのコードを修正できることです。 LLVM IRコードの解析に役立つAPIはありますか?私のシステムにはどのようなライブラリが必要ですか?現時点では、 llc opt llvm-linkなどのコマンドを使用できるので、LLVMもインストールされた clang

4

1 答え

LLVMは、主にC ++ライブラリです。これは、テキストとビットコード(バイナリ)形式の両方でIRを解析、操作、生成するために想像できるすべてのツールを備えています。

まず、 include/llvm/Support/IRReader.h ヘッダで定義されている llvm :: ParseIRFile 関数を見てみましょう。

最善の方法は、これらの手順に従って、LLVMソースコードをダウンロードしてビルドすることです。 LLVMライブラリを使用する独自のコードを記述するのは簡単です。

5
追加された
私はllvm 2.7を持っています。私はclangを使うことができますがclang ++はありません。どのようにclang ++を追加するか考えてみましょう。あなたが言及しているC ++ライブラリを使うことができますか?
追加された 著者 pythonic,
@ user1018562: gcc でLLVMを構築できますが、 clang をインストールする必要はありません。ただし、LLVM自体を構築できるclang 3.0をインストールすることもできます。 clang.llvm.org/get_started.html を参照してください。
追加された 著者 Eli Bendersky,
@ user1018562:ところで、 clang ++ は通常、 clang との単なるリンクです。
追加された 著者 Eli Bendersky,
@ user1018562:また、私の答えを参照してください - stackoverflow .com/questions/9167347 /…
追加された 著者 Eli Bendersky,