【发布时间】:2017-05-30 19:33:00
【问题描述】:
我已经用我的 pass 生成了一个 IR,在这个 IR 的一个函数内部,我想跳回到调用函数的基本块,调用函数内部的 ext_callee 函数是这样调用的:
%4 = call i1 @ext_callee(i32 32, i32 %3, i32 -4, i8* blockaddress(@tobecalled, %5), i8* blockaddress(@tobecalled, %7)).
最后两个参数是我想在这个 ext_callee 函数中跳转到的基本块地址。 我尝试使用带有 blockaddress 参数之一的indirectbr 指令,但是当我运行 IR 时,它会提示段错误。我搜索了 LLVM 文档,但没有找到如何跳转到另一个函数的基本块。有人有线索吗?非常感谢!
【问题讨论】: