1; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s --match-full-lines 2; RUN: verify-uselistorder %s 3 4define i32 @test1(i32 %X) { 5; Implicit entry label. Not printed on output. 6 %1 = alloca i32 7 br label %2 8; Implicit label ids still allowed. 9 br label %3 103: ; Explicit numeric label 11 br label %"2" 12"2": ; string label, quoted number 13 br label %-3 14-3: ; numeric-looking, but actually string, label 15 br label %-N- 16-N-: 17 br label %$N 18$N: 19 %4 = add i32 1, 1 20 ret i32 %4 21} 22 23; CHECK-LABEL: define i32 @test1(i32 %X) { 24; CHECK-NEXT: %1 = alloca i32, align 4 25; CHECK-NEXT: br label %2 26; CHECK: 2: ; preds = %0 27; CHECK-NEXT: br label %3 28; CHECK: 3: ; preds = %2 29; CHECK-NEXT: br label %"2" 30; CHECK: "2": ; preds = %3 31; CHECK-NEXT: br label %-3 32; CHECK: -3: ; preds = %"2" 33; CHECK-NEXT: br label %-N- 34; CHECK: -N-: ; preds = %-3 35; CHECK-NEXT: br label %"$N" 36; CHECK: "$N": ; preds = %-N- 37; CHECK-NEXT: %4 = add i32 1, 1 38; CHECK-NEXT: ret i32 %4 39; CHECK-NEXT: } 40 41define void @test2(i32 %0, i32 %1) { 42; entry label id still not printed on output 432: 44 ret void 45} 46 47; CHECK-LABEL: define void @test2(i32 %0, i32 %1) { 48; CHECK-NEXT: ret void 49