Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Side by Side Diff: tests_lit/reader_tests/alloca.ll

Issue 545623005: Add alloca instruction to Subzero bitcode reader. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix nits. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/PNaClTranslator.cpp ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(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
8 ; Show examples where size is defined by a constant.
9
10 define i32 @AllocaA0Size1() {
11 %array = alloca i8, i32 1
12 %addr = ptrtoint i8* %array to i32
13 ret i32 %addr
14
15 ; CHECK: __0:
16 ; CHECK-NEXT: %__0 = alloca i8, i32 1
17 ; CHECK-NEXT: ret i32 %__0
18 }
19
20 define i32 @AllocaA0Size2() {
21 %array = alloca i8, i32 2
22 %addr = ptrtoint i8* %array to i32
23 ret i32 %addr
24
25 ; CHECK: __0:
26 ; CHECK-NEXT: %__0 = alloca i8, i32 2
27 ; CHECK-NEXT: ret i32 %__0
28 }
29
30 define i32 @AllocaA0Size3() {
31 %array = alloca i8, i32 3
32 %addr = ptrtoint i8* %array to i32
33 ret i32 %addr
34
35 ; CHECK: __0:
36 ; CHECK-NEXT: %__0 = alloca i8, i32 3
37 ; CHECK-NEXT: ret i32 %__0
38 }
39
40 define i32 @AllocaA0Size4() {
41 %array = alloca i8, i32 4
42 %addr = ptrtoint i8* %array to i32
43 ret i32 %addr
44
45 ; CHECK: __0:
46 ; CHECK-NEXT: %__0 = alloca i8, i32 4
47 ; CHECK-NEXT: ret i32 %__0
48 }
49
50 define i32 @AllocaA1Size4(i32 %n) {
51 %array = alloca i8, i32 4, align 1
52 %addr = ptrtoint i8* %array to i32
53 ret i32 %addr
54
55 ; CHECK: __0:
56 ; CHECK-NEXT: %__1 = alloca i8, i32 4, align 1
57 ; CHECK-NEXT: ret i32 %__1
58 }
59
60 define i32 @AllocaA2Size4(i32 %n) {
61 %array = alloca i8, i32 4, align 2
62 %addr = ptrtoint i8* %array to i32
63 ret i32 %addr
64
65 ; CHECK: __0:
66 ; CHECK-NEXT: %__1 = alloca i8, i32 4, align 2
67 ; CHECK-NEXT: ret i32 %__1
68 }
69
70 define i32 @AllocaA8Size4(i32 %n) {
71 %array = alloca i8, i32 4, align 8
72 %addr = ptrtoint i8* %array to i32
73 ret i32 %addr
74
75 ; CHECK: __0:
76 ; CHECK-NEXT: %__1 = alloca i8, i32 4, align 8
77 ; CHECK-NEXT: ret i32 %__1
78 }
79
80 define i32 @Alloca16Size4(i32 %n) {
81 %array = alloca i8, i32 4, align 16
82 %addr = ptrtoint i8* %array to i32
83 ret i32 %addr
84
85 ; CHECK: __0:
86 ; CHECK-NEXT: %__1 = alloca i8, i32 4, align 16
87 ; CHECK-NEXT: ret i32 %__1
88 }
89
90 ; Show examples where size is not known at compile time.
91
92 define i32 @AllocaVarsizeA0(i32 %n) {
93 %array = alloca i8, i32 %n
94 %addr = ptrtoint i8* %array to i32
95 ret i32 %addr
96
97 ; CHECK: __0:
98 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0
99 ; CHECK-NEXT: ret i32 %__1
100 }
101
102 define i32 @AllocaVarsizeA1(i32 %n) {
103 %array = alloca i8, i32 %n, align 1
104 %addr = ptrtoint i8* %array to i32
105 ret i32 %addr
106
107 ; CHECK: __0:
108 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 1
109 ; CHECK-NEXT: ret i32 %__1
110 }
111
112 define i32 @AllocaVarsizeA2(i32 %n) {
113 %array = alloca i8, i32 %n, align 2
114 %addr = ptrtoint i8* %array to i32
115 ret i32 %addr
116
117 ; CHECK: __0:
118 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 2
119 ; CHECK-NEXT: ret i32 %__1
120 }
121
122 define i32 @AllocaVarsizeA4(i32 %n) {
123 %array = alloca i8, i32 %n, align 4
124 %addr = ptrtoint i8* %array to i32
125 ret i32 %addr
126
127 ; CHECK: __0:
128 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 4
129 ; CHECK-NEXT: ret i32 %__1
130 }
131
132 define i32 @AllocaVarsizeA8(i32 %n) {
133 %array = alloca i8, i32 %n, align 8
134 %addr = ptrtoint i8* %array to i32
135 ret i32 %addr
136
137 ; CHECK: __0:
138 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 8
139 ; CHECK-NEXT: ret i32 %__1
140 }
141
142 define i32 @AllocaVarsizeA16(i32 %n) {
143 %array = alloca i8, i32 %n, align 16
144 %addr = ptrtoint i8* %array to i32
145 ret i32 %addr
146
147 ; CHECK: __0:
148 ; CHECK-NEXT: %__1 = alloca i8, i32 %__0, align 16
149 ; CHECK-NEXT: ret i32 %__1
150 }
OLDNEW
« no previous file with comments | « src/PNaClTranslator.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698