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);