我想在我的一個合格文件中在llvm中創建控制流程圖。我目前使用以下顯示CFGllvm將控制流程圖轉儲到合格文件中
block->getParent()->viewCFG(); //block is a basic block
問題是它彈出一個窗口。我只想在特定節目點轉儲cfg,作爲點文件(如果可能,則爲jpg),而不是在窗口中顯示。我怎樣才能做到這一點?我正在使用llvm 3.1。
注意:我在修改程序點前的通行證中修改了cfg。因此我不能使用opt -view-cfg
。
更新:
感謝Mishr,我能畫到圖這個
WriteGraph(File, (const llvm::Function*) &fun, true, "test"); //I have also tired with false
顯示的CFG。但節點是空白的。我該如何顯示節點的內容
謝謝你的回覆。請給出一個關於如何使用它的參考。我無法在該課程中找到同樣的功能 – simpleuser 2013-05-08 16:20:57
'CFGPrinter'是一個通行證,您可以通過'opt'使用它。 – shrm 2013-05-09 11:11:56
但是,如何指定繪製圖形的程序點?如果你可以指出一些示例用法,那將是非常好的 – simpleuser 2013-05-09 13:07:48