我有一些获取基本块索引的问题。
for (Function::iterator II = F.begin(), EE = F.end(); II != EE; ++II, ++ii)
{ BasicBlock* BB=II;
我有段错误或不能使用我在LLVM中找到的几种方法的复杂结构。您是否知道如何尽可能简单地使用以下方法:
http://llvm.org/doxygen/Instructions_8h_source.html#l02136
http://llvm.org/doxygen/EdgeBundles_8cpp_source.html#l00078
或等同的东西?我只想获得基本块的ID。
谢谢!
答案 0 :(得分:2)
正如Eli Bendersky在上述评论中指出的那样,这取决于你对指数的解释。如果您只对基本块的唯一标识符感兴趣,则基本块的名称在函数中是唯一的。你可以使用
获得BB->getName()
还有其他类型的ID与基本块关联,这取决于算法的性质。例如,如果使用Keith Cooper的迭代指针算法编写支配树构造算法,则会将每个基本块与反向深度优先的增量ID相关联。此ID不是BasicBlock结构的一部分,应由您维护。