标识LLVM中块的封闭循环

Identify enclosing loop of a block in LLVM

本文关键字:循环 LLVM 标识      更新时间:2023-10-16

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

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

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

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