我想在我的一个合格文件中在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