如何获取一个程序的过程间控制流程图并使用llvm对其进行数据流分析?

时间:2013-11-19 12:20:45

标签: compiler-construction llvm code-analysis static-analysis control-flow-graph

在llvm中,我知道每个函数的CFG(控制流图)已经构建,CFG由函数的基本块之间的关系表示。 BUt我想遍历一个程序的全局CFG,其中包含llvm中的许多函数。 如何获得一个程序的过程间CFG,然后对其进行数据流分析?

1 个答案:

答案 0 :(得分:1)

根据http://clang.llvm.org/doxygen/classclang_1_1CFG.html clang / LLVM中的CFG仅作为程序内CFG存在。

但是,可以将opt工具运行到LLVM IR代码并提取 一个文本的CFG函数,然后构建一个专用的解析器 (例如FLEX / BISON)将其交织成一个程序间CFG。