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