0


研究アイデアの一環として、次のタスクを実行する必要があり
ます。 1. 手元にある C ファイルを解析して、llvm-IR を取得します。
2. IR の分析を行います。場合によっては、いくつかの命令または BB を追加および削除し
ます。 3. x86 実行可能ファイルまたは C のいずれかを発行します (後で決定する必要があります)。

これは、C で分析を作成する人にとって非常に一般的なタスクだと思います。これらのタスクはすべて C/C++ で実行したいと考えています (研究コードのほとんどは C/C++ で作成されているため)。タスク 2 と 3 では多くのドキュメントを利用できますが、タスク 1 で利用できるドキュメントはほとんどありません。

これらのタスクをパイプラインとしてフックしたいのですが、これに関する提案も大歓迎です。

-ありがとう

4

1 に答える 1

1

(1) Clang を使用して LLVM IR を発行することで実行できます。

(2)独自の LLVM パス を作成し、後でLLVM の opt ツールを介して (関心のある他のパスと共に) 呼び出すことで実行できます。

(3)(x86へ)はLLVMのllcツールでできます。

これらはすべて、コマンドライン ツールだけでなく API としてもアクセスできるため、パイプに組み込むことができます。

于 2013-06-23T08:28:11.420 に答える