| ; RUN: llvm-as < %s | llvm-dis | llvm-as | llvm-dis | FileCheck %s --match-full-lines |
| ; RUN: verify-uselistorder %s |
| |
| define i32 @test1(i32 %X) { |
| ; Implicit entry label. Not printed on output. |
| %1 = alloca i32 |
| br label %2 |
| ; Implicit label ids still allowed. |
| br label %3 |
| 3: ; Explicit numeric label |
| br label %"2" |
| "2": ; string label, quoted number |
| br label %-3 |
| -3: ; numeric-looking, but actually string, label |
| br label %-N- |
| -N-: |
| br label %$N |
| $N: |
| %4 = add i32 1, 1 |
| ret i32 %4 |
| } |
| |
| ; CHECK-LABEL: define i32 @test1(i32 %X) { |
| ; CHECK-NEXT: %1 = alloca i32, align 4 |
| ; CHECK-NEXT: br label %2 |
| ; CHECK: 2: ; preds = %0 |
| ; CHECK-NEXT: br label %3 |
| ; CHECK: 3: ; preds = %2 |
| ; CHECK-NEXT: br label %"2" |
| ; CHECK: "2": ; preds = %3 |
| ; CHECK-NEXT: br label %-3 |
| ; CHECK: -3: ; preds = %"2" |
| ; CHECK-NEXT: br label %-N- |
| ; CHECK: -N-: ; preds = %-3 |
| ; CHECK-NEXT: br label %"$N" |
| ; CHECK: "$N": ; preds = %-N- |
| ; CHECK-NEXT: %4 = add i32 1, 1 |
| ; CHECK-NEXT: ret i32 %4 |
| ; CHECK-NEXT: } |
| |
| define void @test2(i32 %0, i32 %1) { |
| ; entry label id still not printed on output |
| 2: |
| ret void |
| } |
| |
| ; CHECK-LABEL: define void @test2(i32 %0, i32 %1) { |
| ; CHECK-NEXT: ret void |