llvm - 获取br指令的标签

我的问题很简单。给定类型分支的指令,我如何从中提取标签? 例如:llvm - 获取br指令的标签

br label %while.cond 

应该给我while.cond

br label %while.end 

应该给我while.end

br i1 %cmp1, label %if.then, label %if.end 

应,if.then,分别若if.end给我。

回答:

首先检查inst->isConditional(),然后访问inst->getOperand(1)inst->getOperand(2)如果它为真,并且inst->getOperand(0)如果它是假的。

整个BasicBlock是BranchInst实际接受的。如果你想要%if.then一行,那就打电话getName()就可以了。

以上是 llvm - 获取br指令的标签 的全部内容, 来源链接: utcz.com/qa/266158.html

回到顶部