Compilation 如何发现LLVM中的一个指令柱是否支配另一个指令柱?

Compilation 如何发现LLVM中的一个指令柱是否支配另一个指令柱?,compilation,llvm,llvm-c++-api,Compilation,Llvm,Llvm C++ Api,使用llvm::DominatorTree类,您可以发现一条指令是否支配另一条指令。可以使用执行此操作所需的功能:请参阅 但是,llvm::postdomanatortreestruct不能使用相同的函数。事实上,后者的doxygen页面几乎是空的: 有没有一种方法可以像在LLVM中检查支配地位一样轻松地检查支配地位?大多数支配地位树的方法都继承自支配地位树,包括支配地位。因此,这与llvm::支配树的工作原理相同 您可以在“继承自llvm::dominortreebase的公共成员函数”下

使用
llvm::DominatorTree
类,您可以发现一条指令是否支配另一条指令。可以使用执行此操作所需的功能:请参阅

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


有没有一种方法可以像在LLVM中检查支配地位一样轻松地检查支配地位?

大多数
支配地位树
的方法都继承自
支配地位树
,包括
支配地位
。因此,这与
llvm::支配树的工作原理相同


您可以在“继承自
llvm::dominortreebase
的公共成员函数”下找到doxygen文档,该文档使用继承的函数使其工作。与
llvm::DominatorTree
不同的是,
PostDominatorTree
具有一些有用的函数,使其更易于使用,而
DT = DominatorTree(Func);
...
...
DT.dominates(I1,I2);