2011-02-08 103 views
1

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

回答

3

LLVM支持插件通行证。直接写一个通行证,以任何你想要的格式发送你想要的任何数据。

但是,LLVM已经有大量的分析和变换通过。运行分析后,您可以使用现有的LLVM框架提取所需的数据。

看看docscode,然后询问LLVMdev list的更具体的问题以获得最佳答案。

1

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

CFG支持Visitors(请参阅CFG.h),但如果有可用的代码示例,您可能需要在CLang开发人员名单上提问。