如何确定特定的LLVM指令是否依赖于另一个?

时间:2012-02-21 11:40:23

标签: llvm

我正在尝试编写LLVM优化传递。我需要一种方法来确定一个LLVM指令是否影响另一个(或取决于另一个)。

这些依赖关系具有不同的性质:

  1. 第一条指令创建一个值,另一条指令使用它作为操作数
  2. 第一条指令写入内存位置,另一条指令从那里读取
  3. 其他可能性?
  4. 简而言之,第一条指令必须始终先于另一条指令执行,以保持代码的正确性。三方答案(取决于,可能取决于,不依赖)也会这样做。

    我知道我可以使用use-def链来查找类型1的依赖关系,而AliasAnalysis可以帮助我处理类型2的依赖关系。但我恐怕还有其他的依赖类型......

    LLVM是否为此提供了任何通用机制?

0 个答案:

没有答案