1
我的問題很簡單。給定類型分支的指令,我如何從中提取標籤? 例如: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給我。
我的問題很簡單。給定類型分支的指令,我如何從中提取標籤? 例如: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()
就可以了。
'inst-> getOperand(0)'? – arrowd
我試過了。它返回的情況下,如果它存在,當它沒有,如%if.end,它返回整個基本塊。 – eren555