对于LLVM基本块,由类BasicBlock
表示,如何识别哪个最近的循环(如果有)包含该块。我希望在runOnModule
传递中识别出这一点。
答案 0 :(得分:6)
您可以注册LoopInfo依赖项并使用getLoopFor(BasicBlock * BB):
Loop* llvm::LoopInfo::getLoopFor(const BasicBlock *BB) const
您可以查看以下文档:http://llvm.org/doxygen/classllvm_1_1LoopInfo.html#a4abca289c73cd09487e05d11d9f7d877