5

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

4

1 回答 1

1

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

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

于 2016-05-15T07:34:05.937 回答