llvm 错误-错误预期指令操作码

时间:2021-01-21 14:01:44

标签: llvm llvm-ir

我正在尝试运行此代码,但我得到: 错误:预期的指令操作码 标签_3:

这是代码的相关部分:

define void @main(){
%r1 =  alloca [50 x i32]
%r7 = alloca i32
store i32 0 , i32* %r7
label_3:
%r9 = load i32 , i32* %r7
%r8 = getelementptr [258 x i32], [258 x i32]* %r6 , i32 0 , i32 %r9
store i32 0 , i32* %r8
%r10 = add i32 1 , %r9
store i32 %r10 , i32* %r7
%r11 = icmp eq i32 256 , i32 %r10
br i1 %r11 , label %label_4 , label %label_3
label_4:
.....

提前致谢!

1 个答案:

答案 0 :(得分:4)

我解决了问题,问题是在进入循环(label_3)之前我们需要隐式关闭上一个块,并且需要一个“终结者”指令,所以我在label_3之前添加了:line, br label_3 有关更多详细信息,请阅读: https://zanopia.wordpress.com/2010/09/14/understanding-llvm-assembly-with-fractals-part-i/

相关问题