blob: 6c46e94012a5e9238bbd3356d6ba1c95ee7d5cce [file] [log] [blame]
Meador Ingee99f8be2012-05-28 15:45:43 +00001; 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
Bill Wendling7ab6c762013-02-20 07:21:42 +000017; CHECK: define void @f3() #0
Meador Ingee99f8be2012-05-28 15:45:43 +000018{
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
Bill Wendling7ab6c762013-02-20 07:21:42 +000035; CHECK: define void @f6() #1
Meador Ingee99f8be2012-05-28 15:45:43 +000036{
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
Bill Wendling7ab6c762013-02-20 07:21:42 +000059; CHECK: define void @f10() #2
Meador Ingee99f8be2012-05-28 15:45:43 +000060{
61 ret void;
62}
63
64define void @f11() readonly
Bill Wendling7ab6c762013-02-20 07:21:42 +000065; CHECK: define void @f11() #3
Meador Ingee99f8be2012-05-28 15:45:43 +000066{
67 ret void;
68}
69
70define void @f12() noinline
Bill Wendling7ab6c762013-02-20 07:21:42 +000071; CHECK: define void @f12() #4
Meador Ingee99f8be2012-05-28 15:45:43 +000072{
73 ret void;
74}
75
76define void @f13() alwaysinline
Bill Wendling7ab6c762013-02-20 07:21:42 +000077; CHECK: define void @f13() #5
Meador Ingee99f8be2012-05-28 15:45:43 +000078{
79 ret void;
80}
81
82define void @f14() optsize
Bill Wendling7ab6c762013-02-20 07:21:42 +000083; CHECK: define void @f14() #6
Meador Ingee99f8be2012-05-28 15:45:43 +000084{
85 ret void;
86}
87
88define void @f15() ssp
Bill Wendling7ab6c762013-02-20 07:21:42 +000089; CHECK: define void @f15() #7
Meador Ingee99f8be2012-05-28 15:45:43 +000090{
91 ret void;
92}
93
94define void @f16() sspreq
Bill Wendling7ab6c762013-02-20 07:21:42 +000095; CHECK: define void @f16() #8
Meador Ingee99f8be2012-05-28 15:45:43 +000096{
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
Bill Wendling7ab6c762013-02-20 07:21:42 +0000113; CHECK: define void @f19() #9
Meador Ingee99f8be2012-05-28 15:45:43 +0000114{
115 ret void;
116}
117
118define void @f20() noimplicitfloat
Bill Wendling7ab6c762013-02-20 07:21:42 +0000119; CHECK: define void @f20() #10
Meador Ingee99f8be2012-05-28 15:45:43 +0000120{
121 ret void;
122}
123
124define void @f21() naked
Bill Wendling7ab6c762013-02-20 07:21:42 +0000125; CHECK: define void @f21() #11
Meador Ingee99f8be2012-05-28 15:45:43 +0000126{
127 ret void;
128}
129
130define void @f22() inlinehint
Bill Wendling7ab6c762013-02-20 07:21:42 +0000131; CHECK: define void @f22() #12
Meador Ingee99f8be2012-05-28 15:45:43 +0000132{
133 ret void;
134}
135
136define void @f23() alignstack(4)
Bill Wendling7ab6c762013-02-20 07:21:42 +0000137; CHECK: define void @f23() #13
Meador Ingee99f8be2012-05-28 15:45:43 +0000138{
139 ret void;
140}
141
142define void @f24() returns_twice
Bill Wendling7ab6c762013-02-20 07:21:42 +0000143; CHECK: define void @f24() #14
Meador Ingee99f8be2012-05-28 15:45:43 +0000144{
145 ret void;
146}
147
148define void @f25() uwtable
Bill Wendling7ab6c762013-02-20 07:21:42 +0000149; CHECK: define void @f25() #15
Meador Ingee99f8be2012-05-28 15:45:43 +0000150{
151 ret void;
152}
153
154define void @f26() nonlazybind
Bill Wendling7ab6c762013-02-20 07:21:42 +0000155; CHECK: define void @f26() #16
Meador Ingee99f8be2012-05-28 15:45:43 +0000156{
157 ret void;
158}
159
Kostya Serebryany8eec41f2013-02-26 06:58:09 +0000160define void @f27() sanitize_address
Bill Wendling7ab6c762013-02-20 07:21:42 +0000161; CHECK: define void @f27() #17
Meador Ingee99f8be2012-05-28 15:45:43 +0000162{
163 ret void;
164}
Kostya Serebryany8eec41f2013-02-26 06:58:09 +0000165define void @f28() sanitize_thread
Bill Wendling7ab6c762013-02-20 07:21:42 +0000166; CHECK: define void @f28() #18
Kostya Serebryanyab39afa2013-02-11 08:13:54 +0000167{
168 ret void;
169}
Kostya Serebryany8eec41f2013-02-26 06:58:09 +0000170define void @f29() sanitize_memory
Bill Wendling7ab6c762013-02-20 07:21:42 +0000171; CHECK: define void @f29() #19
Kostya Serebryanyab39afa2013-02-11 08:13:54 +0000172{
173 ret void;
174}
Bill Wendlingd7fdee42013-02-12 09:14:20 +0000175
176define void @f30() "cpu"="cortex-a8"
Bill Wendling7ab6c762013-02-20 07:21:42 +0000177; CHECK: define void @f30() #20
Bill Wendlingd7fdee42013-02-12 09:14:20 +0000178{
179 ret void;
180}
181
182; CHECK: attributes #0 = { noreturn }
183; CHECK: attributes #1 = { nounwind }
184; CHECK: attributes #2 = { readnone }
185; CHECK: attributes #3 = { readonly }
186; CHECK: attributes #4 = { noinline }
187; CHECK: attributes #5 = { alwaysinline }
188; CHECK: attributes #6 = { optsize }
189; CHECK: attributes #7 = { ssp }
190; CHECK: attributes #8 = { sspreq }
191; CHECK: attributes #9 = { noredzone }
192; CHECK: attributes #10 = { noimplicitfloat }
193; CHECK: attributes #11 = { naked }
194; CHECK: attributes #12 = { inlinehint }
195; CHECK: attributes #13 = { alignstack=4 }
196; CHECK: attributes #14 = { returns_twice }
197; CHECK: attributes #15 = { uwtable }
198; CHECK: attributes #16 = { nonlazybind }
Kostya Serebryany8eec41f2013-02-26 06:58:09 +0000199; CHECK: attributes #17 = { sanitize_address }
200; CHECK: attributes #18 = { sanitize_thread }
201; CHECK: attributes #19 = { sanitize_memory }
Bill Wendlingd7fdee42013-02-12 09:14:20 +0000202; CHECK: attributes #20 = { "cpu"="cortex-a8" }