LLVM IR:具有可变 BasicBlock 目标的分支指令?
Posted
技术标签:
【中文标题】LLVM IR:具有可变 BasicBlock 目标的分支指令?【英文标题】:LLVM IR: Branch instruction with variable BasicBlock target? 【发布时间】:2017-02-11 12:54:39 【问题描述】:LLVM 是否支持带有变量 BasicBlock 目标的分支指令?
更具体地说,假设我将所有无条件的br
指令转换为对某个函数f
的函数调用。那么是否可以将目标标签作为参数提供给f
,然后在f
内的无条件分支中使用此标签?
或者是唯一的解决方案是在f
中创建一个switch
,将所有BB映射到唯一ID,然后用目标BB对应的ID调用f
?
【问题讨论】:
【参考方案1】:据我所知,标签的非本地间接分支是不可能的。
http://blog.llvm.org/2010/01/address-of-label-and-indirect-branches.html?m=1
【讨论】:
你确定吗?据我所知,作者选择不讨论这个话题,还是?以上是关于LLVM IR:具有可变 BasicBlock 目标的分支指令?的主要内容,如果未能解决你的问题,请参考以下文章