如何处理llvm生成的DFS调用图
我想在llvm生成的调用图上进行DFS(深度优先搜索)遍历,即我正在使用以下代码,但仍停留在如何进一步进行的问题上如何处理llvm生成的DFS调用图,llvm,llvm-clang,call-graph,Llvm,Llvm Clang,Call Graph,我想在llvm生成的调用图上进行DFS(深度优先搜索)遍历,即我正在使用以下代码,但仍停留在如何进一步进行的问题上 bool runOnModule(Module &M) override { CallGraph cg = CallGraph(M); cg.dump(); CallGraph::iterator beg = cg.begin(); CallGraph::iterator end = cg.
bool runOnModule(Module &M) override
{
CallGraph cg = CallGraph(M);
cg.dump();
CallGraph::iterator beg = cg.begin();
CallGraph::iterator end = cg.end();
return false;
}
上面的代码只转储调用图。但我想从main方法开始对它进行DFS遍历。我使用叮当声作为前端。怎么做 学习使用LLVM图形迭代器后,深度优先遍历非常简单:
#包括
bool RUNNOMODule(模块和M)超控{
调用图CG=调用图(M);
对于(自动IT=df_开始(&CG),EI=df_结束(&CG);IT!=EI;IT++){
if(Function*F=IT->getFunction()){
dbgs()