BasicBlock
在LLVM框架中获得a的前辈的最简单方法是什么?
我查看了DepthFirstIterator
和idf_iterator<BasicBlock*>
,但是实际上我需要在控制流程图上进行广度优先搜索。
我觉得这应该很容易,但是从文档或我一直在网上浏览的示例来看,这并不明显。
从文档中尚不清楚,但是基本块类支持pred迭代器,该迭代器为基本块提供了前身。在C ++ 11风格中,可以遍历块的前身,如下所示:
BasicBlock* B = ...
for (auto it = pred_begin(B), et = pred_end(B); it != et; ++it)
{
BasicBlock* predecessor = *it;
...
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句