-; RUN: llvm-dis < %s.bc| FileCheck %s
-; RUN: verify-uselistorder < %s.bc -preserve-bc-use-list-order -num-shuffles=5
+; RUN: llvm-dis < %s.bc| FileCheck %s
; TerminatorOperations.3.2.ll.bc was generated by passing this file to llvm-as-3.2.
; The test checks that LLVM does not misread terminator instructions from
entry:
; CHECK: br i1 %cond, label %TrueLabel, label %FalseLabel
br i1 %cond, label %TrueLabel, label %FalseLabel
-
+
TrueLabel:
ret i32 1
-
+
FalseLabel:
ret i32 0
}
entry:
; CHECK: br label %uncondLabel
br label %uncondLabel
-
+
uncondLabel:
ret i32 1
}
entry:
; CHECK: indirectbr i8* %Addr, [label %bb1, label %bb2]
indirectbr i8* %Addr, [ label %bb1, label %bb2 ]
-
+
bb1:
ret i32 1
-
+
bb2:
ret i32 0
}
entry:
; CHECK: unreachable
unreachable
+
+ ret void
+}
+
+define i32 @retInstr(){
+entry:
+; CHECK: ret i32 1
+ ret i32 1
+}
+define void @retInstr2(){
+entry:
+; CHECK: ret void
ret void
}
+define i32 @switchInstr(i32 %x){
+entry:
+; CHECK: switch i32 %x, label %label3 [
+ switch i32 %x, label %label3 [
+; CHECK-NEXT: i32 1, label %label1
+ i32 1, label %label1
+; CHECK-NEXT: i32 2, label %label2
+ i32 2, label %label2
+ ]
+label1:
+ ret i32 1
+label2:
+ ret i32 2
+label3:
+ ret i32 0
+}
+