在LLVM中识别块的封闭循环

时间:2012-08-23 12:22:30

标签: c++ c llvm

对于LLVM基本块,由类BasicBlock表示,如何识别哪个最近的循环(如果有)包含该块。我希望在runOnModule传递中识别出这一点。

1 个答案:

答案 0 :(得分:6)

您可以注册LoopInfo依赖项并使用getLoopF​​or(BasicBlock * BB):

Loop* llvm::LoopInfo::getLoopFor(const BasicBlock *BB) const 

您可以查看以下文档:http://llvm.org/doxygen/classllvm_1_1LoopInfo.html#a4abca289c73cd09487e05d11d9f7d877