1

我已经开始使用 LLVM,我很想知道是否有一种编程方式可以从 LLVM/clang 中提取控制流图和/或基本块,以便对它们进行一些分析。有没有办法挂钩工具链并提取这些信息而不是直接编译?如果没有,有什么替代方案?

4

2 回答 2

3

LLVM 支持插件通道。编写通行证以您想要的任何格式发出您想要的任何数据将是直截了当的。

但是,LLVM 已经拥有大量的分析和转换通道。在运行所需的分析通道后,您可能能够使用现有的 LLVM 框架来提取所需的数据。

查看文档代码,然后在LLVMdev 列表上提出更具体的问题以获得最佳答案。

于 2011-02-08T06:53:13.050 回答
1

CFG(控制流图)纯粹是 CLang 的一部分。

CFG 支持访问者(请参阅CFG.h),但您可能想在 CLang 开发列表上询问是否有可用的代码示例。

于 2011-02-08T13:34:25.210 回答