如何在LLVM中查找指令是否支配另一个指令?

时间:2017-09-14 15:03:28

标签: compilation llvm llvm-c++-api

使用llvm::DominatorTree类,您可以查看指令是否支配另一个指令。这样做的必要功能是:见

http://llvm.org/doxygen/classllvm_1_1DominatorTree.html

DT = DominatorTree(Func);
...
...
DT.dominates(I1,I2);

但是,llvm::PostDominatorTree结构不能使用相同的函数。事实上,后者的doxygen页面几乎是空的:

http://llvm.org/doxygen/structllvm_1_1PostDominatorTree.html

有没有办法像LLVM一样轻松检查postdominance?

1 个答案:

答案 0 :(得分:1)

大多数PostDominatorTree方法都是从DominatorTreeBase继承的,包括dominates。所以这与llvm::DominatorTree

的工作原理相同

您可以在&#34;继承自llvm::DominatorTreeBase< NodeT, IsPostDom >&#34;的公共成员函数下找到doxygen文档。