77 lines · plain
1; RUN: llvm-dis < %s.bc| FileCheck %s2 3; TerminatorOperations.3.2.ll.bc was generated by passing this file to llvm-as-3.2.4; The test checks that LLVM does not misread terminator instructions from5; older bitcode files.6 7define i32 @condbr(i1 %cond){8entry:9; CHECK: br i1 %cond, label %TrueLabel, label %FalseLabel10 br i1 %cond, label %TrueLabel, label %FalseLabel11 12 TrueLabel:13 ret i32 114 15 FalseLabel:16 ret i32 017}18 19define i32 @uncondbr(){20entry:21; CHECK: br label %uncondLabel22 br label %uncondLabel23 24 uncondLabel:25 ret i32 126}27 28define i32 @indirectbr(i8* %Addr){29entry:30; CHECK: indirectbr ptr %Addr, [label %bb1, label %bb2]31 indirectbr i8* %Addr, [ label %bb1, label %bb2 ]32 33 bb1:34 ret i32 135 36 bb2:37 ret i32 038}39 40define void @unreachable(){41entry:42; CHECK: unreachable43 unreachable44 45 ret void46}47 48define i32 @retInstr(){49entry:50; CHECK: ret i32 1 51 ret i32 1 52}53 54define void @retInstr2(){55entry:56; CHECK: ret void 57 ret void58}59 60define i32 @switchInstr(i32 %x){61entry:62; CHECK: switch i32 %x, label %label3 [63 switch i32 %x, label %label3 [64; CHECK-NEXT: i32 1, label %label1 65 i32 1, label %label166; CHECK-NEXT: i32 2, label %label2 67 i32 2, label %label268 ]69label1:70 ret i32 171label2:72 ret i32 273label3:74 ret i32 075}76 77