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