Emit DWARF line entries for all data in the instruction stream.
[oota-llvm.git] / test / Bitcode / attributes-3.3.ll
1 ; RUN:  llvm-dis < %s.bc| FileCheck %s
2
3 ; attributes-3.3.ll.bc was generated by passing this file to llvm-as-3.3.
4 ; The test checks that LLVM does not silently misread attributes of
5 ; older bitcode files.
6
7 define void @f1(i8 zeroext)
8 ; CHECK: define void @f1(i8 zeroext)
9 {
10         ret void;
11 }
12
13 define void @f2(i8 signext)
14 ; CHECK: define void @f2(i8 signext)
15 {
16         ret void;
17 }
18
19 define void @f3() noreturn
20 ; CHECK: define void @f3() #0
21 {
22         ret void;
23 }
24
25 define void @f4(i8 inreg)
26 ; CHECK: define void @f4(i8 inreg)
27 {
28         ret void;
29 }
30
31 define void @f5(i8* sret)
32 ; CHECK: define void @f5(i8* sret)
33 {
34         ret void;
35 }
36
37 define void @f6() nounwind
38 ; CHECK: define void @f6() #1
39 {
40         ret void;
41 }
42
43 define void @f7(i8* noalias)
44 ; CHECK: define void @f7(i8* noalias)
45 {
46         ret void;
47 }
48
49 define void @f8(i8* byval)
50 ; CHECK: define void @f8(i8* byval)
51 {
52         ret void;
53 }
54
55 define void @f9(i8* nest)
56 ; CHECK: define void @f9(i8* nest)
57 {
58         ret void;
59 }
60
61 define void @f10() readnone
62 ; CHECK: define void @f10() #2
63 {
64         ret void;
65 }
66
67 define void @f11() readonly
68 ; CHECK: define void @f11() #3
69 {
70         ret void;
71 }
72
73 define void @f12() noinline
74 ; CHECK: define void @f12() #4
75 {
76         ret void;
77 }
78
79 define void @f13() alwaysinline
80 ; CHECK: define void @f13() #5
81 {
82         ret void;
83 }
84
85 define void @f14() optsize
86 ; CHECK: define void @f14() #6
87 {
88         ret void;
89 }
90
91 define void @f15() ssp
92 ; CHECK: define void @f15() #7
93 {
94         ret void;
95 }
96
97 define void @f16() sspreq
98 ; CHECK: define void @f16() #8
99 {
100         ret void;
101 }
102
103 define void @f17(i8 align 4)
104 ; CHECK: define void @f17(i8 align 4)
105 {
106         ret void;
107 }
108
109 define void @f18(i8* nocapture)
110 ; CHECK: define void @f18(i8* nocapture)
111 {
112         ret void;
113 }
114
115 define void @f19() noredzone
116 ; CHECK: define void @f19() #9
117 {
118         ret void;
119 }
120
121 define void @f20() noimplicitfloat
122 ; CHECK: define void @f20() #10
123 {
124         ret void;
125 }
126
127 define void @f21() naked
128 ; CHECK: define void @f21() #11
129 {
130         ret void;
131 }
132
133 define void @f22() inlinehint
134 ; CHECK: define void @f22() #12
135 {
136         ret void;
137 }
138
139 define void @f23() alignstack(4)
140 ; CHECK: define void @f23() #13
141 {
142         ret void;
143 }
144
145 define void @f24() returns_twice
146 ; CHECK: define void @f24() #14
147 {
148         ret void;
149 }
150
151 define void @f25() uwtable
152 ; CHECK: define void @f25() #15
153 {
154         ret void;
155 }
156
157 define void @f26() nonlazybind
158 ; CHECK: define void @f26() #16
159 {
160         ret void;
161 }
162
163 define void @f27() sanitize_address
164 ; CHECK: define void @f27() #17
165 {
166         ret void;
167 }
168 define void @f28() sanitize_thread
169 ; CHECK: define void @f28() #18
170 {
171         ret void;
172 }
173 define void @f29() sanitize_memory
174 ; CHECK: define void @f29() #19
175 {
176         ret void;
177 }
178
179 define void @f30() "cpu"="cortex-a8"
180 ; CHECK: define void @f30() #20
181 {
182         ret void;
183 }
184
185 define i8 @f31(i8 returned %A)
186 ; CHECK: define i8 @f31(i8 returned %A)
187 {
188         ret i8 %A;
189 }
190
191 define void @f32() sspstrong
192 ; CHECK: define void @f32() #21
193 {
194         ret void;
195 }
196
197 define void @f33() minsize
198 ; CHECK: define void @f33() #22
199 {
200         ret void;
201 }
202
203 declare void @nobuiltin()
204
205 define void @f34()
206 ; CHECK: define void @f34()
207 {
208         call void @nobuiltin() nobuiltin
209 ; CHECK: call void @nobuiltin() #23
210         ret void;
211 }
212
213 ; CHECK: attributes #0 = { noreturn }
214 ; CHECK: attributes #1 = { nounwind }
215 ; CHECK: attributes #2 = { readnone }
216 ; CHECK: attributes #3 = { readonly }
217 ; CHECK: attributes #4 = { noinline }
218 ; CHECK: attributes #5 = { alwaysinline }
219 ; CHECK: attributes #6 = { optsize }
220 ; CHECK: attributes #7 = { ssp }
221 ; CHECK: attributes #8 = { sspreq }
222 ; CHECK: attributes #9 = { noredzone }
223 ; CHECK: attributes #10 = { noimplicitfloat }
224 ; CHECK: attributes #11 = { naked }
225 ; CHECK: attributes #12 = { inlinehint }
226 ; CHECK: attributes #13 = { alignstack=4 }
227 ; CHECK: attributes #14 = { returns_twice }
228 ; CHECK: attributes #15 = { uwtable }
229 ; CHECK: attributes #16 = { nonlazybind }
230 ; CHECK: attributes #17 = { sanitize_address }
231 ; CHECK: attributes #18 = { sanitize_thread }
232 ; CHECK: attributes #19 = { sanitize_memory }
233 ; CHECK: attributes #20 = { "cpu"="cortex-a8" }
234 ; CHECK: attributes #21 = { sspstrong }
235 ; CHECK: attributes #22 = { minsize }
236 ; CHECK: attributes #23 = { nobuiltin }