如何在 LLVM 中查找一条指令 post 是否支配另一条指令?
How to find if an instruction post-dominates another in LLVM?
使用llvm::DominatorTree
class,您可以查明一条指令是否支配另一条指令。这样做的必要功能是可用的:见
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 中的支配一样轻松地检查后支配?
PostDominatorTree
的大部分方法都继承自DominatorTreeBase
,包括dominates
。所以这与 llvm::DominatorTree
相同
您可以在 "Public Member Functions inherited from llvm::DominatorTreeBase< NodeT, IsPostDom >
" 下找到 doxygen 文档。
使用llvm::DominatorTree
class,您可以查明一条指令是否支配另一条指令。这样做的必要功能是可用的:见
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 中的支配一样轻松地检查后支配?
PostDominatorTree
的大部分方法都继承自DominatorTreeBase
,包括dominates
。所以这与 llvm::DominatorTree
您可以在 "Public Member Functions inherited from llvm::DominatorTreeBase< NodeT, IsPostDom >
" 下找到 doxygen 文档。