現在、このチュートリアルに従って、 llvmの分析パスを実装しています。以下のような追加の引数をプラグインに渡す必要があります。
opt -load /path/to/myplugin.so -mypass -mypass_option input.bc
しかし、その方法を教えてくれるマニュアルは見つかりませんでした。だから、実際にそれが可能かどうか疑問に思っています。
前もって感謝します。
現在、このチュートリアルに従って、 llvmの分析パスを実装しています。以下のような追加の引数をプラグインに渡す必要があります。
opt -load /path/to/myplugin.so -mypass -mypass_option input.bc
しかし、その方法を教えてくれるマニュアルは見つかりませんでした。だから、実際にそれが可能かどうか疑問に思っています。
前もって感謝します。
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>
。