LLVM是否支持具有可变BasicBlock目标的分支指令?
更具体地说,假设我将所有无条件br
指令转换为对某个函数f
的函数调用。然后是否可以将目标标签作为参数提供给f
,然后在f
内的无条件分支中使用此标签?
或者是在switch
中制作f
的唯一解决方案,将所有BB映射到唯一ID,然后使用相应的ID调用f
到目标BB?
答案 0 :(得分:1)
从我所看到的情况来看,非本地间接分支到标签是不可能的。
http://blog.llvm.org/2010/01/address-of-label-and-indirect-branches.html?m=1