Compiler construction 程序依赖图(PDG)

Compiler construction 程序依赖图(PDG),compiler-construction,llvm,Compiler Construction,Llvm,我是LLVM新手,需要分析程序(控制流和数据流分析)。我在LLVM中找不到PDG或任务图。如何实现这一点?如果您查看此链接:(在调试代码时查看图形”部分),它介绍了如何使用graphviz生成和查看图形。这对于交互式使用以及创建用于发布的图形都很有用。您可以使用此工具在LLVM中构建过程间程序依赖关系图: 此处提供了详细的程序(请注意,您必须下载LLVM 9.0.0才能使其正常工作,从,根据您的首选平台进行选择): 其中的示例hello.c如下所示: #include <stdio.h&

我是LLVM新手,需要分析程序(控制流和数据流分析)。我在LLVM中找不到PDG或任务图。如何实现这一点?

如果您查看此链接:(在调试代码时查看图形”部分),它介绍了如何使用graphviz生成和查看图形。这对于交互式使用以及创建用于发布的图形都很有用。

您可以使用此工具在LLVM中构建过程间程序依赖关系图:

此处提供了详细的程序(请注意,您必须下载LLVM 9.0.0才能使其正常工作,从,根据您的首选平台进行选择):

其中的示例hello.c如下所示:

#include <stdio.h>

int main() {
  printf("hello world\n");
  return 0;
}
#包括
int main(){
printf(“hello world\n”);
返回0;
}
程序依赖关系图的输出如下:


LLVM没有PDG。然而,@johntortgo是肯定的,但问题似乎是关于一般控制流和数据流分析的图形(提到“LLVM新手”和“需要分析程序”),对于这些图形,当前支持的CFGs LLVM类型可以吐出到graphviz中肯定非常有用。