获取LLVM中BasicBlock的前辈

战斗

BasicBlock在LLVM框架中获得a的前辈的最简单方法是什么

我查看了DepthFirstIteratoridf_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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取数组中前辈和后继者的数量

来自分类Dev

LLVM-添加指令后设置BasicBlock的插入点会导致segfault

来自分类Dev

获取LLVM中的功能将花费的总周期数

来自分类Dev

如何在LLVM IR中获取程序的映像基址

来自分类Dev

如何获取由llvm中的allocaInstr分配的字面地址?

来自分类Dev

在 LLVM 中获取非常量操作数

来自分类Dev

在 O(1) 中查找二叉树中的前辈

来自分类Dev

LLVM IR:当作为参数传递给函数时,如何在llvm ir代码中获取数组的大小?

来自分类Dev

C前辈用法

来自分类Dev

如何在 LLVM 中从 phinode 及其相应的基本块中获取标签?

来自分类Dev

从LLVM字符串常量中获取字符串

来自分类Dev

LLVM中的部分应用

来自分类Dev

从前辈打印Dijkstra算法

来自分类Dev

llvm使用llvm指令获取被调用的函数名

来自分类Dev

llvm使用llvm指令获取被调用的函数名

来自分类Dev

获取LLVM值的原始变量名

来自分类Dev

LLVM-如何获取指令的结果变量

来自分类Dev

llvm:如何获取基本块的标签

来自分类Dev

如何从llvm指令获取变量的名称

来自分类Dev

LLVM Callinst函数如何获取(真实)名称?

来自分类Dev

如何从.ll文件LLVM获取源行号

来自分类Dev

链接后如何获取位码llvm?

来自分类Dev

LLVM Callinst函数如何获取(真实)名称?

来自分类Dev

如何从.ll文件LLVM获取源行号

来自分类Dev

LLVM如何获取指令的返回值

来自分类Dev

LLVM IR:获取LVALUE操作数

来自分类Dev

通过 C API 获取 llvm CallInst 的属性

来自分类Dev

在llvm ir中增加ptr

来自分类Dev

在LLVM IR中递增变量