私は、パスの1つでllvmで制御フローグラフダイアグラムを作成します。私は現在、問題は、それがウィンドウをポップアップするということであるCFGllvmダンプ制御フローグラフをパス内のファイルに書き込む
block->getParent()->viewCFG(); //block is a basic block
を表示するには、次を使用します。私はちょうどその特定のプログラムポイントで、ドットファイル(または可能であればjpg)として、ウィンドウに表示されないようにcfgをダンプします。どうすれば同じことができますか?私はllvm 3.1を使用しています。
注:私はそのプログラムポイントの前に、自分のパスでcfgを変更しています。したがって、opt -view-cfg
は使用できません。
更新:Mishrに
おかげで、私はCFGが示されている。この
WriteGraph(File, (const llvm::Function*) &fun, true, "test"); //I have also tired with false
でグラフを描くことができました。しかし、ノードは空白です。ノードの内容を表示するにはどうすればいいですか
ありがとうございます。それを使用する方法についての参考資料を与えてください。 – simpleuser
'CFGPrinter'がパスしたときに、' opt'でそれを使うことができます。 – shrm
しかし、グラフを描画するプログラムポイントをどのように指定すればよいですか?いくつかのサンプルの使用法を指すことができれば素晴らしいでしょう。 – simpleuser