1; RUN: llvm-dis -opaque-pointers=0 < %s.bc| FileCheck %s 2; RUN: llvm-dis -opaque-pointers=1 < %s.bc| FileCheck %s 3; RUN: verify-uselistorder < %s.bc 4 5; case-ranges.ll.bc was generated by passing this file to llvm-as from the 3.3 6; release of LLVM. This tests that the bitcode for switches from that release 7; can still be read. 8 9define i32 @foo(i32 %x) nounwind ssp uwtable { 10; CHECK: define i32 @foo 11 %1 = alloca i32, align 4 12 %2 = alloca i32, align 4 13 store i32 %x, i32* %2, align 4 14 %3 = load i32, i32* %2, align 4 15 switch i32 %3, label %9 [ 16; CHECK: switch i32 %3, label %9 17 i32 -3, label %4 18; CHECK-NEXT: i32 -3, label %4 19 i32 -2, label %4 20; CHECK-NEXT: i32 -2, label %4 21 i32 -1, label %4 22; CHECK-NEXT: i32 -1, label %4 23 i32 0, label %4 24; CHECK-NEXT: i32 0, label %4 25 i32 1, label %4 26; CHECK-NEXT: i32 1, label %4 27 i32 2, label %4 28; CHECK-NEXT: i32 2, label %4 29 i32 4, label %5 30; CHECK-NEXT: i32 4, label %5 31 i32 5, label %6 32; CHECK-NEXT: i32 5, label %6 33 i32 6, label %7 34; CHECK-NEXT: i32 6, label %7 35 i32 7, label %8 36; CHECK-NEXT: i32 7, label %8 37 ] 38 39; <label>:4 40 store i32 -1, i32* %1 41 br label %11 42 43; <label>:5 44 store i32 2, i32* %1 45 br label %11 46 47; <label>:6 48 store i32 1, i32* %1 49 br label %11 50 51; <label>:7 52 store i32 4, i32* %1 53 br label %11 54 55; <label>:8 56 store i32 3, i32* %1 57 br label %11 58 59; <label>:9 60 br label %10 61 62; <label>:10 63 store i32 0, i32* %1 64 br label %11 65 66; <label>:11 67 %12 = load i32, i32* %1 68 ret i32 %12 69} 70