1

私は LLVM を使い始めましたが、LLVM/clang から制御フロー グラフや基本ブロックを抽出して分析を行うプログラム的な方法があるかどうか知りたいと思っています。単純なコンパイルを行う代わりに、ツール チェーンにフックしてこの情報を引き出す方法はありますか? そうでない場合、代替手段は何ですか?

4

2 に答える 2

3

LLVM はプラグイン パスをサポートします。パスを作成して、必要なデータを任意の形式で発行するのは簡単です。

ただし、LLVM には、すでに分析パスと変換パスの大規模なスイートがあります。必要な分析パスを実行した後、既存の LLVM フレームワークを使用して必要なデータを抽出できる場合があります。

docscodeを見てから、 LLVMdev リストでより具体的な質問をして、最良の回答を得てください。

于 2011-02-08T06:53:13.050 に答える
1

CFG (コントロール フロー グラフ) は純粋に CLang の一部です。

CFG は Visitors をサポートします ( CFG.hを参照) が、利用可能なコード サンプルがあるかどうか、CLang dev リストで尋ねたいと思うかもしれません。

于 2011-02-08T13:34:25.210 に答える