Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 ; Test if we can read alloca instructions. | |
| 2 | |
| 3 ; RUN: llvm-as < %s | pnacl-freeze \ | |
| 4 ; RUN: | %llvm2ice -notranslate -verbose=inst -build-on-read \ | |
| 5 ; RUN: -allow-pnacl-reader-error-recovery \ | |
| 6 ; RUN: | FileCheck %s | |
| 7 | |
|
Karl
2014/09/08 21:16:23
Added case of alignment == 0, since it is allowed.
| |
| 8 define i32 @AllocaA1(i32 %n) { | |
| 9 %array = alloca i8, i32 %n, align 1 | |
| 10 %addr = ptrtoint i8* %array to i32 | |
| 11 ret i32 %addr | |
| 12 } | |
| 13 | |
| 14 ; CHECK: define i32 @AllocaA1(i32 %__0) { | |
| 15 ; CHECK-NEXT: __0: | |
| 16 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 1 | |
| 17 ; CHECK-NEXT: ret i32 %__1 | |
| 18 ; CHECK-NEXT: } | |
| 19 | |
| 20 define i32 @AllocaA2(i32 %n) { | |
| 21 %array = alloca i8, i32 %n, align 2 | |
| 22 %addr = ptrtoint i8* %array to i32 | |
| 23 ret i32 %addr | |
| 24 } | |
| 25 | |
| 26 ; CHECK-NEXT: define i32 @AllocaA2(i32 %__0) { | |
| 27 ; CHECK-NEXT: __0: | |
| 28 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 2 | |
| 29 ; CHECK-NEXT: ret i32 %__1 | |
| 30 ; CHECK-NEXT: } | |
| 31 | |
| 32 define i32 @AllocaA4(i32 %n) { | |
| 33 %array = alloca i8, i32 %n, align 4 | |
| 34 %addr = ptrtoint i8* %array to i32 | |
| 35 ret i32 %addr | |
| 36 } | |
| 37 | |
| 38 ; CHECK-NEXT: define i32 @AllocaA4(i32 %__0) { | |
| 39 ; CHECK-NEXT: __0: | |
| 40 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 4 | |
| 41 ; CHECK-NEXT: ret i32 %__1 | |
| 42 ; CHECK-NEXT: } | |
| 43 | |
| 44 define i32 @AllocaA8(i32 %n) { | |
| 45 %array = alloca i8, i32 %n, align 8 | |
| 46 %addr = ptrtoint i8* %array to i32 | |
| 47 ret i32 %addr | |
| 48 } | |
| 49 | |
| 50 ; CHECK-NEXT: define i32 @AllocaA8(i32 %__0) { | |
| 51 ; CHECK-NEXT: __0: | |
| 52 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 8 | |
| 53 ; CHECK-NEXT: ret i32 %__1 | |
| 54 ; CHECK-NEXT: } | |
| 55 | |
| 56 define i32 @AllocaA16(i32 %n) { | |
| 57 %array = alloca i8, i32 %n, align 16 | |
|
jvoung (off chromium)
2014/09/05 16:55:04
Once you have the constants block would be good to
Karl
2014/09/08 21:16:23
Done.
| |
| 58 %addr = ptrtoint i8* %array to i32 | |
| 59 ret i32 %addr | |
| 60 } | |
| 61 | |
| 62 ; CHECK-NEXT: define i32 @AllocaA16(i32 %__0) { | |
| 63 ; CHECK-NEXT: __0: | |
| 64 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 16 | |
| 65 ; CHECK-NEXT: ret i32 %__1 | |
| 66 ; CHECK-NEXT: } | |
| OLD | NEW |