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 |