我是LLVM的新手,我需要分析程序(控制流和数据流分析)。我在LLVM中找不到PDG或任务图。我怎么能这样做?
答案 0 :(得分:2)
开发人员已经实现了使用LLVM为他的项目生成PDG:
https://github.com/DengMinghua/LLVM-Program-Dependency-Graph-Generator
答案 1 :(得分:0)
此处提供了详细过程(请注意,您必须下载LLVM 9.0.0才能运行,请从https://releases.llvm.org/download.html开始,根据您的首选平台进行选择):
https://github.com/tthtlc/my_llvm_program_dependency_generator
示例hello.c在这里:
#include <stdio.h>
int main() {
printf("hello world\n");
return 0;
}
程序依赖图的输出在这里:
答案 2 :(得分:-1)
如果您查看此链接:http://llvm.org/docs/ProgrammersManual.html#ViewGraph(“在调试代码时查看图表”部分),它将讨论如何使用graphviz生成和查看图形。这对于交互式使用以及创建图表以供发布都很有用。
答案 3 :(得分:-1)
您可以使用此工具在LLVM中构建过程间程序依赖性图: https://bitbucket.org/psu_soslab/program-dependence-graph-in-llvm/src/master/