程序依赖图(PDF)

时间:2011-02-24 06:29:15

标签: compiler-construction llvm

我是LLVM的新手,我需要分析程序(控制流和数据流分析)。我在LLVM中找不到PDG或任务图。我怎么能这样做?

4 个答案:

答案 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;
}

程序依赖图的输出在这里:

enter image description here

答案 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/