标签: llvm
我正在尝试编写LLVM优化传递。我需要一种方法来确定一个LLVM指令是否影响另一个(或取决于另一个)。
这些依赖关系具有不同的性质:
简而言之,第一条指令必须始终先于另一条指令执行,以保持代码的正确性。三方答案(取决于,可能取决于,不依赖)也会这样做。
我知道我可以使用use-def链来查找类型1的依赖关系,而AliasAnalysis可以帮助我处理类型2的依赖关系。但我恐怕还有其他的依赖类型......
LLVM是否为此提供了任何通用机制?