我想在我的一张通行证中在 llvm 中构建一个控制流图。我目前使用以下内容来显示 CFG
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。但是节点是空白的。如何显示节点的内容