获取在类型BR的标签字段中引用的基本块的第一个指令



我正在尝试编写一个将检查代码控制流的通行证。给定BR指令,我需要访问标签字段中提到的基本块。

例如,对于代码:

 for(i = 0; i < count; i++){
    sum = add(sum, array[i]);
  }

我获得了红外表示

br i1 %cmp, label %for.body, label %for.end

现在,当我在通行证中遇到此说明时,我需要确切知道这些标签指向的位置。有人可以告诉我我该怎么做吗?

呼叫->getOperand(1)->getOperand(2)用于该指令的方法。这将分别为您提供第一和第二个BB。参见http://llvm.org/doxygen/classllvm_1_1user.html#abe1de1520a21f77ac57c57c57cc210bf0bf0b0b4

最新更新