如何修复llvm寄存器增量错误?

时间:2020-04-08 11:30:54

标签: while-loop llvm-ir

我一直在尝试获取以下ir以便运行while循环

lli: ir.ll:20:3: error: instruction expected to be numbered '%3'
%2 = load i32, i32* %0

我不断收到错误消息

ALTER TABLE registration ADD DOC DATE CHECK(DOC>DOJ);

指令编号似乎与我一致。而且我没有看到无法逾越的障碍。问题可能是分支吗?

1 个答案:

答案 0 :(得分:0)

最后知道了。问题是main函数的基本块entrypoint有两个终止指令br label %loopBodyret i32 0,同时应该只有一个。这与IRBuilder寄存器编号混淆,后者编号为基本块loopBody%2。然后llvm编译器期望下一个未命名的东西是%3。 IRBuilder-llc冲突。

相关问题