16

現在、このチュートリアルに従って、 llvmの分析パスを実装しています。以下のような追加の引数をプラグインに渡す必要があります。

opt -load /path/to/myplugin.so -mypass -mypass_option input.bc

しかし、その方法を教えてくれるマニュアルは見つかりませんでした。だから、実際にそれが可能かどうか疑問に思っています。

前もって感謝します。

4

1 に答える 1

15

LLVM に組み込まれているCommandLineライブラリを使用する必要があります。基本的に、パスの .cpp ファイルの先頭に置くだけです。

#include "llvm/Support/CommandLine.h"

static cl::opt<string> InputFilename("mypass_option", cl::desc("Specify input filename for mypass"), cl::value_desc("filename"));

ただし、上記のリンクを確認することをお勧めします。完全なリファレンスと便利なクイックスタート セクションがあります。

例として、組み込みのループ アンローリング パスcl::opt<unsigned>を見てみましょう。ソース ファイルの先頭で、 と を使用して、2 つの符号なしオプションと 2 つのブール値オプションを定義しますcl::opt<bool>

于 2012-12-02T10:21:24.187 に答える