使用 LLVM 进行数据和循环依赖性分析

Ami*_*mir 3 dependencies static-analysis llvm llvm-clang llvm-ir

有谁知道如何使用 LLVM 和 clang 进行数据依赖性/循环依赖性分析?

查看 pass 网页-da,显然已经提到该 pass 正在完成这项工作,但使用该 pass 不会改变输出中的任何内容,无论是大小./a.out还是.llIR 代码。

我想知道我们是否可以使用 LLVM 平台理解 WAR、RAW 等以及其他依赖项。

小智 5

-da(dependency analysis)是一个分析过程,分析过程不会更改位码,它们只是收集供其他分析或转换过程使用的信息。因此,如果您想使用它的信息,您应该编写一个新的转换,并将“DependenceAnalysis”作为“RequiredAnalysis”添加到您的传递中名为“getAnalysisUsage”的虚拟函数中,然后您将拥有“DependenceAnalysis”作为 abject。