编译bitcode时llvm出错

时间:2018-04-11 13:57:00

标签: llvm

这是我使用llvm编译的bitcode:

define void @.datadiv_decode2604521171261794706() {
; <label>:0:
  br label %1
  br label %6

; <label>:1:                                      ; preds = %1, %0
  %2 = phi i32 [ 0, %0 ], [ %3, %1 ]
  %3 = add i32 %2, 1
  %4 = icmp ult i32 %2, 12
  %5 = icmp ne i1 %4, i32 0
  br i1 %5, label %1, label %0

; <label>:6:                                      ; preds = %6, %0
  %7 = phi i32 [ 0, %0 ], [ %8, %6 ]
  %8 = add i32 %7, 1
  %9 = icmp ult i32 %7, 2
  %10 = icmp ne i1 %9, i32 0
  br i1 %10, label %6, label %0
}

错误信息是:

Error: instruction expected to be numbered '%3'. 

解决方案是什么?

1 个答案:

答案 0 :(得分:0)

; <label>:0: br label %1 br label %6

这是完全错误的。每个BasicBlock应该只有一个终结符。请提供您编写的任何转换通行证的来源,以帮助您找到错误。