[Alignment][NFC] Migrate Instructions to Align
[llvm-core.git] / test / Assembler / block-labels.ll
blob9ab55e00c2d52d6ef78598b3b59dd2ef7ca446be
1 ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s --match-full-lines
2 ; RUN: verify-uselistorder %s
4 define 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
10 3: ; 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
23 ; CHECK-LABEL: define i32 @test1(i32 %X) {
24 ; CHECK-NEXT:   %1 = alloca i32
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: }
41 define void @test2(i32 %0, i32 %1) {
42 ; entry label id still not printed on output
44   ret void
47 ; CHECK-LABEL: define void @test2(i32 %0, i32 %1) {
48 ; CHECK-NEXT:    ret void