OLD | NEW |
(Empty) | |
| 1 ; Tests if we handle pointer argument for switch statement. |
| 2 ; https://code.google.com/p/nativeclient/issues/detail?id=4050 |
| 3 |
| 4 ; RUN: llvm-as < %s | pnacl-freeze \ |
| 5 ; RUN: | pnacl-thaw \ |
| 6 ; RUN: | llvm-dis -o - | FileCheck %s |
| 7 |
| 8 @hi = internal global [1 x i8] zeroinitializer, align 1 |
| 9 define internal void @foo() { |
| 10 %e = ptrtoint [1 x i8]* @hi to i32 |
| 11 switch i32 %e, label %baz3 [ |
| 12 i32 -4, label %baz1 |
| 13 i32 -8, label %baz2 |
| 14 ] |
| 15 baz1: |
| 16 ret void |
| 17 baz2: |
| 18 ret void |
| 19 baz3: |
| 20 ret void |
| 21 } |
| 22 |
| 23 ; CHECK-LABEL: @foo |
| 24 ; CHECK: %1 = ptrtoint [1 x i8]* @hi to i32 |
| 25 ; CHECK-NEXT: switch i32 %1, label |
| 26 ; CHECK-NEXT: i32 |
| 27 ; CHECK-NEXT: i32 |
OLD | NEW |