blob: f8e031408b018aa1ff8df7c2a75d956fd14fb71e [file] [log] [blame]
Eric Christophercee313d2019-04-17 04:52:47 +00001; RUN: opt < %s -mtriple=x86_64-- -inferattrs -S | FileCheck -check-prefix=CHECK-UNKNOWN %s
2; RUN: opt < %s -mtriple=x86_64-- -passes=inferattrs -S | FileCheck -check-prefix=CHECK-UNKNOWN %s
3; RUN: opt < %s -mtriple=x86_64-apple-macosx10.8.0 -inferattrs -S | FileCheck -check-prefix=CHECK -check-prefix=CHECK-DARWIN %s
4; RUN: opt < %s -mtriple=x86_64-unknown-linux-gnu -inferattrs -S | FileCheck -check-prefix=CHECK -check-prefix=CHECK-LINUX %s
5; RUN: opt < %s -mtriple=nvptx -inferattrs -S | FileCheck -check-prefix=CHECK-NVPTX %s
6
7; operator new routines
Brian Homerdingb4b21d82019-07-08 15:57:56 +00008declare i8* @_Znwj(i64 )
Juneyoung Lee67aac912020-09-20 18:08:27 +09009; CHECK: declare noalias noundef nonnull i8* @_Znwj(i64) [[G0:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +000010declare i8* @_Znwm(i64)
Juneyoung Lee67aac912020-09-20 18:08:27 +090011; CHECK: declare noalias noundef nonnull i8* @_Znwm(i64) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +000012
13declare i32 @__nvvm_reflect(i8*)
Juneyoung Lee36c86212020-09-09 20:31:51 +090014; CHECK-NVPTX: declare noundef i32 @__nvvm_reflect(i8* noundef) [[G0:#[0-9]+]]
Brian Homerdingb4b21d82019-07-08 15:57:56 +000015; CHECK-NVPTX: attributes [[G0]] = { nofree nounwind readnone }
Eric Christophercee313d2019-04-17 04:52:47 +000016
17
18; Check all the libc functions (thereby also exercising the prototype check).
19; Note that it's OK to modify these as attributes might be missing. These checks
20; reflect the currently inferred attributes.
21
22; Use an opaque pointer type for all the (possibly opaque) structs.
23%opaque = type opaque
24
25; CHECK: declare double @__acos_finite(double)
26declare double @__acos_finite(double)
27
28; CHECK: declare float @__acosf_finite(float)
29declare float @__acosf_finite(float)
30
31; CHECK: declare double @__acosh_finite(double)
32declare double @__acosh_finite(double)
33
34; CHECK: declare float @__acoshf_finite(float)
35declare float @__acoshf_finite(float)
36
37; CHECK: declare x86_fp80 @__acoshl_finite(x86_fp80)
38declare x86_fp80 @__acoshl_finite(x86_fp80)
39
40; CHECK: declare x86_fp80 @__acosl_finite(x86_fp80)
41declare x86_fp80 @__acosl_finite(x86_fp80)
42
43; CHECK: declare double @__asin_finite(double)
44declare double @__asin_finite(double)
45
46; CHECK: declare float @__asinf_finite(float)
47declare float @__asinf_finite(float)
48
49; CHECK: declare x86_fp80 @__asinl_finite(x86_fp80)
50declare x86_fp80 @__asinl_finite(x86_fp80)
51
52; CHECK: declare double @__atan2_finite(double, double)
53declare double @__atan2_finite(double, double)
54
55; CHECK: declare float @__atan2f_finite(float, float)
56declare float @__atan2f_finite(float, float)
57
58; CHECK: declare x86_fp80 @__atan2l_finite(x86_fp80, x86_fp80)
59declare x86_fp80 @__atan2l_finite(x86_fp80, x86_fp80)
60
61; CHECK: declare double @__atanh_finite(double)
62declare double @__atanh_finite(double)
63
64; CHECK: declare float @__atanhf_finite(float)
65declare float @__atanhf_finite(float)
66
67; CHECK: declare x86_fp80 @__atanhl_finite(x86_fp80)
68declare x86_fp80 @__atanhl_finite(x86_fp80)
69
70; CHECK: declare double @__cosh_finite(double)
71declare double @__cosh_finite(double)
72
73; CHECK: declare float @__coshf_finite(float)
74declare float @__coshf_finite(float)
75
76; CHECK: declare x86_fp80 @__coshl_finite(x86_fp80)
77declare x86_fp80 @__coshl_finite(x86_fp80)
78
79; CHECK: declare double @__cospi(double)
80declare double @__cospi(double)
81
82; CHECK: declare float @__cospif(float)
83declare float @__cospif(float)
84
85; CHECK: declare double @__exp10_finite(double)
86declare double @__exp10_finite(double)
87
88; CHECK: declare float @__exp10f_finite(float)
89declare float @__exp10f_finite(float)
90
91; CHECK: declare x86_fp80 @__exp10l_finite(x86_fp80)
92declare x86_fp80 @__exp10l_finite(x86_fp80)
93
94; CHECK: declare double @__exp2_finite(double)
95declare double @__exp2_finite(double)
96
97; CHECK: declare float @__exp2f_finite(float)
98declare float @__exp2f_finite(float)
99
100; CHECK: declare x86_fp80 @__exp2l_finite(x86_fp80)
101declare x86_fp80 @__exp2l_finite(x86_fp80)
102
103; CHECK: declare double @__exp_finite(double)
104declare double @__exp_finite(double)
105
106; CHECK: declare float @__expf_finite(float)
107declare float @__expf_finite(float)
108
109; CHECK: declare x86_fp80 @__expl_finite(x86_fp80)
110declare x86_fp80 @__expl_finite(x86_fp80)
111
112; CHECK: declare double @__log10_finite(double)
113declare double @__log10_finite(double)
114
115; CHECK: declare float @__log10f_finite(float)
116declare float @__log10f_finite(float)
117
118; CHECK: declare x86_fp80 @__log10l_finite(x86_fp80)
119declare x86_fp80 @__log10l_finite(x86_fp80)
120
121; CHECK: declare double @__log2_finite(double)
122declare double @__log2_finite(double)
123
124; CHECK: declare float @__log2f_finite(float)
125declare float @__log2f_finite(float)
126
127; CHECK: declare x86_fp80 @__log2l_finite(x86_fp80)
128declare x86_fp80 @__log2l_finite(x86_fp80)
129
130; CHECK: declare double @__log_finite(double)
131declare double @__log_finite(double)
132
133; CHECK: declare float @__logf_finite(float)
134declare float @__logf_finite(float)
135
136; CHECK: declare x86_fp80 @__logl_finite(x86_fp80)
137declare x86_fp80 @__logl_finite(x86_fp80)
138
139; CHECK: declare double @__pow_finite(double, double)
140declare double @__pow_finite(double, double)
141
142; CHECK: declare float @__powf_finite(float, float)
143declare float @__powf_finite(float, float)
144
145; CHECK: declare x86_fp80 @__powl_finite(x86_fp80, x86_fp80)
146declare x86_fp80 @__powl_finite(x86_fp80, x86_fp80)
147
148; CHECK: declare double @__sinh_finite(double)
149declare double @__sinh_finite(double)
150
151; CHECK: declare float @__sinhf_finite(float)
152declare float @__sinhf_finite(float)
153
154; CHECK: declare x86_fp80 @__sinhl_finite(x86_fp80)
155declare x86_fp80 @__sinhl_finite(x86_fp80)
156
157; CHECK: declare double @__sinpi(double)
158declare double @__sinpi(double)
159
160; CHECK: declare float @__sinpif(float)
161declare float @__sinpif(float)
162
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000163; CHECK: declare i32 @abs(i32) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000164declare i32 @abs(i32)
165
Juneyoung Lee36c86212020-09-09 20:31:51 +0900166; CHECK: declare noundef i32 @access(i8* nocapture noundef readonly, i32 noundef) [[G1:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +0000167declare i32 @access(i8*, i32)
168
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000169; CHECK: declare double @acos(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000170declare double @acos(double)
171
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000172; CHECK: declare float @acosf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000173declare float @acosf(float)
174
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000175; CHECK: declare double @acosh(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000176declare double @acosh(double)
177
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000178; CHECK: declare float @acoshf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000179declare float @acoshf(float)
180
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000181; CHECK: declare x86_fp80 @acoshl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000182declare x86_fp80 @acoshl(x86_fp80)
183
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000184; CHECK: declare x86_fp80 @acosl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000185declare x86_fp80 @acosl(x86_fp80)
186
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000187; CHECK: declare double @asin(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000188declare double @asin(double)
189
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000190; CHECK: declare float @asinf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000191declare float @asinf(float)
192
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000193; CHECK: declare double @asinh(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000194declare double @asinh(double)
195
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000196; CHECK: declare float @asinhf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000197declare float @asinhf(float)
198
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000199; CHECK: declare x86_fp80 @asinhl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000200declare x86_fp80 @asinhl(x86_fp80)
201
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000202; CHECK: declare x86_fp80 @asinl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000203declare x86_fp80 @asinl(x86_fp80)
204
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000205; CHECK: declare double @atan(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000206declare double @atan(double)
207
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000208; CHECK: declare double @atan2(double, double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000209declare double @atan2(double, double)
210
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000211; CHECK: declare float @atan2f(float, float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000212declare float @atan2f(float, float)
213
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000214; CHECK: declare x86_fp80 @atan2l(x86_fp80, x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000215declare x86_fp80 @atan2l(x86_fp80, x86_fp80)
216
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000217; CHECK: declare float @atanf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000218declare float @atanf(float)
219
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000220; CHECK: declare double @atanh(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000221declare double @atanh(double)
222
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000223; CHECK: declare float @atanhf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000224declare float @atanhf(float)
225
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000226; CHECK: declare x86_fp80 @atanhl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000227declare x86_fp80 @atanhl(x86_fp80)
228
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000229; CHECK: declare x86_fp80 @atanl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000230declare x86_fp80 @atanl(x86_fp80)
231
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000232; CHECK: declare double @atof(i8* nocapture) [[G2:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +0000233declare double @atof(i8*)
234
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000235; CHECK: declare i32 @atoi(i8* nocapture) [[G2]]
Eric Christophercee313d2019-04-17 04:52:47 +0000236declare i32 @atoi(i8*)
237
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000238; CHECK: declare i64 @atol(i8* nocapture) [[G2]]
Eric Christophercee313d2019-04-17 04:52:47 +0000239declare i64 @atol(i8*)
240
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000241; CHECK: declare i64 @atoll(i8* nocapture) [[G2]]
Eric Christophercee313d2019-04-17 04:52:47 +0000242declare i64 @atoll(i8*)
243
Florian Hahn20e989e2020-08-28 09:37:01 +0100244; CHECK-LINUX: declare i32 @bcmp(i8* nocapture, i8* nocapture, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY:#[0-9]+]]
Alex Lorenz8d5c2802019-08-07 00:03:37 +0000245; CHECK-DARWIN-NOT: declare i32 @bcmp(i8* nocapture, i8* nocapture, i64) [[G2]]
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000246; CHECK-UNKNOWN-NOT: declare i32 @bcmp(i8* nocapture, i8* nocapture, i64) [[G2]]
247; CHECK-NVPTX-NOT: declare i32 @bcmp(i8* nocapture, i8* nocapture, i64) [[G2]]
Eric Christophercee313d2019-04-17 04:52:47 +0000248declare i32 @bcmp(i8*, i8*, i64)
249
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100250; CHECK: declare void @bcopy(i8* nocapture readonly, i8* nocapture writeonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +0000251declare void @bcopy(i8*, i8*, i64)
252
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100253; CHECK: declare void @bzero(i8* nocapture writeonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +0000254declare void @bzero(i8*, i64)
255
Juneyoung Lee67aac912020-09-20 18:08:27 +0900256; CHECK: declare noalias noundef i8* @calloc(i64, i64) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000257declare i8* @calloc(i64, i64)
258
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000259; CHECK: declare double @cbrt(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000260declare double @cbrt(double)
261
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000262; CHECK: declare float @cbrtf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000263declare float @cbrtf(float)
264
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000265; CHECK: declare x86_fp80 @cbrtl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000266declare x86_fp80 @cbrtl(x86_fp80)
267
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000268; CHECK: declare double @ceil(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000269declare double @ceil(double)
270
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000271; CHECK: declare float @ceilf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000272declare float @ceilf(float)
273
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000274; CHECK: declare x86_fp80 @ceill(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000275declare x86_fp80 @ceill(x86_fp80)
276
Juneyoung Lee36c86212020-09-09 20:31:51 +0900277; CHECK: declare noundef i32 @chmod(i8* nocapture noundef readonly, i16 noundef zeroext) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000278declare i32 @chmod(i8*, i16 zeroext)
279
Juneyoung Lee36c86212020-09-09 20:31:51 +0900280; CHECK: declare noundef i32 @chown(i8* nocapture noundef readonly, i32 noundef, i32 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000281declare i32 @chown(i8*, i32, i32)
282
Juneyoung Lee36c86212020-09-09 20:31:51 +0900283; CHECK: declare void @clearerr(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000284declare void @clearerr(%opaque*)
285
Juneyoung Lee36c86212020-09-09 20:31:51 +0900286; CHECK: declare noundef i32 @closedir(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000287declare i32 @closedir(%opaque*)
288
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000289; CHECK: declare double @copysign(double, double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000290declare double @copysign(double, double)
291
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000292; CHECK: declare float @copysignf(float, float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000293declare float @copysignf(float, float)
294
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000295; CHECK: declare x86_fp80 @copysignl(x86_fp80, x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000296declare x86_fp80 @copysignl(x86_fp80, x86_fp80)
297
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000298; CHECK: declare double @cos(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000299declare double @cos(double)
300
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000301; CHECK: declare float @cosf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000302declare float @cosf(float)
303
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000304; CHECK: declare double @cosh(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000305declare double @cosh(double)
306
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000307; CHECK: declare float @coshf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000308declare float @coshf(float)
309
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000310; CHECK: declare x86_fp80 @coshl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000311declare x86_fp80 @coshl(x86_fp80)
312
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000313; CHECK: declare x86_fp80 @cosl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000314declare x86_fp80 @cosl(x86_fp80)
315
Juneyoung Lee36c86212020-09-09 20:31:51 +0900316; CHECK: declare noundef i8* @ctermid(i8* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000317declare i8* @ctermid(i8*)
318
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000319; CHECK: declare double @exp(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000320declare double @exp(double)
321
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000322; CHECK: declare double @exp2(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000323declare double @exp2(double)
324
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000325; CHECK: declare float @exp2f(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000326declare float @exp2f(float)
327
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000328; CHECK: declare x86_fp80 @exp2l(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000329declare x86_fp80 @exp2l(x86_fp80)
330
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000331; CHECK: declare float @expf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000332declare float @expf(float)
333
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000334; CHECK: declare x86_fp80 @expl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000335declare x86_fp80 @expl(x86_fp80)
336
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000337; CHECK: declare double @expm1(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000338declare double @expm1(double)
339
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000340; CHECK: declare float @expm1f(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000341declare float @expm1f(float)
342
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000343; CHECK: declare x86_fp80 @expm1l(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000344declare x86_fp80 @expm1l(x86_fp80)
345
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000346; CHECK: declare double @fabs(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000347declare double @fabs(double)
348
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000349; CHECK: declare float @fabsf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000350declare float @fabsf(float)
351
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000352; CHECK: declare x86_fp80 @fabsl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000353declare x86_fp80 @fabsl(x86_fp80)
354
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900355; CHECK: declare noundef i32 @fclose(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000356declare i32 @fclose(%opaque*)
357
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900358; CHECK: declare noalias noundef %opaque* @fdopen(i32 noundef, i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000359declare %opaque* @fdopen(i32, i8*)
360
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900361; CHECK: declare noundef i32 @feof(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000362declare i32 @feof(%opaque*)
363
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900364; CHECK: declare noundef i32 @ferror(%opaque* nocapture noundef) [[G2]]
Eric Christophercee313d2019-04-17 04:52:47 +0000365declare i32 @ferror(%opaque*)
366
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900367; CHECK: declare noundef i32 @fflush(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000368declare i32 @fflush(%opaque*)
369
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000370; CHECK: declare i32 @ffs(i32) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000371declare i32 @ffs(i32)
372
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000373; CHECK: declare i32 @ffsl(i64) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000374declare i32 @ffsl(i64)
375
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000376; CHECK: declare i32 @ffsll(i64) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000377declare i32 @ffsll(i64)
378
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900379; CHECK: declare noundef i32 @fgetc(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000380declare i32 @fgetc(%opaque*)
381
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900382; CHECK: declare noundef i32 @fgetpos(%opaque* nocapture noundef, i64* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000383declare i32 @fgetpos(%opaque*, i64*)
384
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900385; CHECK: declare noundef i8* @fgets(i8* noundef, i32 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000386declare i8* @fgets(i8*, i32, %opaque*)
387
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900388; CHECK: declare noundef i32 @fileno(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000389declare i32 @fileno(%opaque*)
390
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900391; CHECK: declare void @flockfile(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000392declare void @flockfile(%opaque*)
393
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000394; CHECK: declare double @floor(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000395declare double @floor(double)
396
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000397; CHECK: declare float @floorf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000398declare float @floorf(float)
399
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000400; CHECK: declare x86_fp80 @floorl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000401declare x86_fp80 @floorl(x86_fp80)
402
403; CHECK: declare i32 @fls(i32)
404declare i32 @fls(i32)
405
406; CHECK: declare i32 @flsl(i64)
407declare i32 @flsl(i64)
408
409; CHECK: declare i32 @flsll(i64)
410declare i32 @flsll(i64)
411
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000412; CHECK: declare double @fmax(double, double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000413declare double @fmax(double, double)
414
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000415; CHECK: declare float @fmaxf(float, float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000416declare float @fmaxf(float, float)
417
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000418; CHECK: declare x86_fp80 @fmaxl(x86_fp80, x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000419declare x86_fp80 @fmaxl(x86_fp80, x86_fp80)
420
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000421; CHECK: declare double @fmin(double, double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000422declare double @fmin(double, double)
423
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000424; CHECK: declare float @fminf(float, float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000425declare float @fminf(float, float)
426
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000427; CHECK: declare x86_fp80 @fminl(x86_fp80, x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000428declare x86_fp80 @fminl(x86_fp80, x86_fp80)
429
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000430; CHECK: declare double @fmod(double, double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000431declare double @fmod(double, double)
432
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000433; CHECK: declare float @fmodf(float, float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000434declare float @fmodf(float, float)
435
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000436; CHECK: declare x86_fp80 @fmodl(x86_fp80, x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000437declare x86_fp80 @fmodl(x86_fp80, x86_fp80)
438
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900439; CHECK: declare noalias noundef %opaque* @fopen(i8* nocapture noundef readonly, i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000440declare %opaque* @fopen(i8*, i8*)
441
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900442; CHECK: declare noundef i32 @fprintf(%opaque* nocapture noundef, i8* nocapture noundef readonly, ...) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000443declare i32 @fprintf(%opaque*, i8*, ...)
444
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900445; CHECK: declare noundef i32 @fputc(i32 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000446declare i32 @fputc(i32, %opaque*)
447
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900448; CHECK: declare noundef i32 @fputs(i8* nocapture noundef readonly, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000449declare i32 @fputs(i8*, %opaque*)
450
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900451; CHECK: declare noundef i64 @fread(i8* nocapture noundef, i64 noundef, i64 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000452declare i64 @fread(i8*, i64, i64, %opaque*)
453
Dávid Bolvanský65e94cc2020-10-17 22:23:39 +0200454; CHECK: declare void @free(i8* nocapture noundef) [[NOUNWIND:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +0000455declare void @free(i8*)
456
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000457; CHECK: declare double @frexp(double, i32* nocapture) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000458declare double @frexp(double, i32*)
459
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000460; CHECK: declare float @frexpf(float, i32* nocapture) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000461declare float @frexpf(float, i32*)
462
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000463; CHECK: declare x86_fp80 @frexpl(x86_fp80, i32* nocapture) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000464declare x86_fp80 @frexpl(x86_fp80, i32*)
465
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900466; CHECK: declare noundef i32 @fscanf(%opaque* nocapture noundef, i8* nocapture noundef readonly, ...) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000467declare i32 @fscanf(%opaque*, i8*, ...)
468
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900469; CHECK: declare noundef i32 @fseek(%opaque* nocapture noundef, i64 noundef, i32 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000470declare i32 @fseek(%opaque*, i64, i32)
471
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900472; CHECK: declare noundef i32 @fseeko(%opaque* nocapture noundef, i64 noundef, i32 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000473declare i32 @fseeko(%opaque*, i64, i32)
474
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900475; CHECK-LINUX: declare noundef i32 @fseeko64(%opaque* nocapture noundef, i64 noundef, i32 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000476declare i32 @fseeko64(%opaque*, i64, i32)
477
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900478; CHECK: declare noundef i32 @fsetpos(%opaque* nocapture noundef, i64* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000479declare i32 @fsetpos(%opaque*, i64*)
480
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900481; CHECK: declare noundef i32 @fstat(i32 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000482declare i32 @fstat(i32, %opaque*)
483
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900484; CHECK-LINUX: declare noundef i32 @fstat64(i32 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000485declare i32 @fstat64(i32, %opaque*)
486
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900487; CHECK: declare noundef i32 @fstatvfs(i32 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000488declare i32 @fstatvfs(i32, %opaque*)
489
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900490; CHECK-LINUX: declare noundef i32 @fstatvfs64(i32 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000491declare i32 @fstatvfs64(i32, %opaque*)
492
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900493; CHECK: declare noundef i64 @ftell(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000494declare i64 @ftell(%opaque*)
495
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900496; CHECK: declare noundef i64 @ftello(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000497declare i64 @ftello(%opaque*)
498
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900499; CHECK-LINUX: declare noundef i64 @ftello64(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000500declare i64 @ftello64(%opaque*)
501
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900502; CHECK: declare noundef i32 @ftrylockfile(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000503declare i32 @ftrylockfile(%opaque*)
504
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900505; CHECK: declare void @funlockfile(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000506declare void @funlockfile(%opaque*)
507
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900508; CHECK: declare noundef i64 @fwrite(i8* nocapture noundef, i64 noundef, i64 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000509declare i64 @fwrite(i8*, i64, i64, %opaque*)
510
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900511; CHECK: declare noundef i32 @getc(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000512declare i32 @getc(%opaque*)
513
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900514; CHECK: declare noundef i32 @getc_unlocked(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000515declare i32 @getc_unlocked(%opaque*)
516
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900517; CHECK: declare noundef i32 @getchar() [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000518declare i32 @getchar()
519
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900520; CHECK: declare noundef i32 @getchar_unlocked() [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000521declare i32 @getchar_unlocked()
522
Juneyoung Lee36c86212020-09-09 20:31:51 +0900523; CHECK: declare noundef i8* @getenv(i8* nocapture noundef) [[G2]]
Eric Christophercee313d2019-04-17 04:52:47 +0000524declare i8* @getenv(i8*)
525
Juneyoung Lee36c86212020-09-09 20:31:51 +0900526; CHECK: declare noundef i32 @getitimer(i32 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000527declare i32 @getitimer(i32, %opaque*)
528
Juneyoung Lee36c86212020-09-09 20:31:51 +0900529; CHECK: declare noundef i32 @getlogin_r(i8* nocapture noundef, i64 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000530declare i32 @getlogin_r(i8*, i64)
531
Juneyoung Lee36c86212020-09-09 20:31:51 +0900532; CHECK: declare noundef %opaque* @getpwnam(i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000533declare %opaque* @getpwnam(i8*)
534
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900535; CHECK: declare noundef i8* @gets(i8* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000536declare i8* @gets(i8*)
537
Juneyoung Lee36c86212020-09-09 20:31:51 +0900538; CHECK: declare noundef i32 @gettimeofday(%opaque* nocapture noundef, i8* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000539declare i32 @gettimeofday(%opaque*, i8*)
540
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000541; CHECK: declare i32 @isascii(i32) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000542declare i32 @isascii(i32)
543
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000544; CHECK: declare i32 @isdigit(i32) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000545declare i32 @isdigit(i32)
546
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000547; CHECK: declare i64 @labs(i64) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000548declare i64 @labs(i64)
549
Juneyoung Lee36c86212020-09-09 20:31:51 +0900550; CHECK: declare noundef i32 @lchown(i8* nocapture noundef readonly, i32 noundef, i32 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000551declare i32 @lchown(i8*, i32, i32)
552
Jonas Paulsson89a10422020-11-04 13:49:24 +0100553; CHECK: declare double @ldexp(double, i32 signext) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000554declare double @ldexp(double, i32)
555
Jonas Paulsson89a10422020-11-04 13:49:24 +0100556; CHECK: declare float @ldexpf(float, i32 signext) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000557declare float @ldexpf(float, i32)
558
Jonas Paulsson89a10422020-11-04 13:49:24 +0100559; CHECK: declare x86_fp80 @ldexpl(x86_fp80, i32 signext) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000560declare x86_fp80 @ldexpl(x86_fp80, i32)
561
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000562; CHECK: declare i64 @llabs(i64) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000563declare i64 @llabs(i64)
564
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000565; CHECK: declare double @log(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000566declare double @log(double)
567
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000568; CHECK: declare double @log10(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000569declare double @log10(double)
570
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000571; CHECK: declare float @log10f(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000572declare float @log10f(float)
573
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000574; CHECK: declare x86_fp80 @log10l(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000575declare x86_fp80 @log10l(x86_fp80)
576
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000577; CHECK: declare double @log1p(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000578declare double @log1p(double)
579
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000580; CHECK: declare float @log1pf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000581declare float @log1pf(float)
582
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000583; CHECK: declare x86_fp80 @log1pl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000584declare x86_fp80 @log1pl(x86_fp80)
585
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000586; CHECK: declare double @log2(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000587declare double @log2(double)
588
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000589; CHECK: declare float @log2f(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000590declare float @log2f(float)
591
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000592; CHECK: declare x86_fp80 @log2l(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000593declare x86_fp80 @log2l(x86_fp80)
594
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000595; CHECK: declare double @logb(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000596declare double @logb(double)
597
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000598; CHECK: declare float @logbf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000599declare float @logbf(float)
600
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000601; CHECK: declare x86_fp80 @logbl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000602declare x86_fp80 @logbl(x86_fp80)
603
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000604; CHECK: declare float @logf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000605declare float @logf(float)
606
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000607; CHECK: declare x86_fp80 @logl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000608declare x86_fp80 @logl(x86_fp80)
609
Juneyoung Lee36c86212020-09-09 20:31:51 +0900610; CHECK: declare noundef i32 @lstat(i8* nocapture noundef readonly, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000611declare i32 @lstat(i8*, %opaque*)
612
Juneyoung Lee36c86212020-09-09 20:31:51 +0900613; CHECK-LINUX: declare noundef i32 @lstat64(i8* nocapture noundef readonly, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000614declare i32 @lstat64(i8*, %opaque*)
615
Juneyoung Lee67aac912020-09-20 18:08:27 +0900616; CHECK: declare noalias noundef i8* @malloc(i64) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000617declare i8* @malloc(i64)
618
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000619; CHECK-LINUX: declare noalias i8* @memalign(i64, i64) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000620declare i8* @memalign(i64, i64)
621
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100622; CHECK: declare i8* @memccpy(i8* noalias writeonly, i8* noalias nocapture readonly, i32, i64) [[ARGMEMONLY_NOFREE_NOUNWIND:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +0000623declare i8* @memccpy(i8*, i8*, i32, i64)
624
Florian Hahn20e989e2020-08-28 09:37:01 +0100625; CHECK-LINUX: declare i8* @memchr(i8*, i32, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
626; CHECK-DARWIN: declare i8* @memchr(i8*, i32, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY:#[0-9]+]]
627; CHECK-UNKNOWN: declare i8* @memchr(i8*, i32, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +0000628declare i8* @memchr(i8*, i32, i64)
629
Florian Hahn20e989e2020-08-28 09:37:01 +0100630; CHECK: declare i32 @memcmp(i8* nocapture, i8* nocapture, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
Eric Christophercee313d2019-04-17 04:52:47 +0000631declare i32 @memcmp(i8*, i8*, i64)
632
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100633; CHECK: declare i8* @memcpy(i8* noalias returned writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000634declare i8* @memcpy(i8*, i8*, i64)
635
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100636; CHECK: declare i8* @mempcpy(i8* noalias writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000637declare i8* @mempcpy(i8*, i8*, i64)
638
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100639; CHECK: declare i8* @memmove(i8* returned writeonly, i8* nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000640declare i8* @memmove(i8*, i8*, i64)
641
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000642; CHECK: declare i8* @memset(i8*, i32, i64) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000643declare i8* @memset(i8*, i32, i64)
644
Juneyoung Lee36c86212020-09-09 20:31:51 +0900645; CHECK: declare noundef i32 @mkdir(i8* nocapture noundef readonly, i16 noundef zeroext) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000646declare i32 @mkdir(i8*, i16 zeroext)
647
Juneyoung Lee36c86212020-09-09 20:31:51 +0900648; CHECK: declare noundef i64 @mktime(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000649declare i64 @mktime(%opaque*)
650
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000651; CHECK: declare double @modf(double, double* nocapture) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000652declare double @modf(double, double*)
653
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000654; CHECK: declare float @modff(float, float* nocapture) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000655declare float @modff(float, float*)
656
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000657; CHECK: declare x86_fp80 @modfl(x86_fp80, x86_fp80* nocapture) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000658declare x86_fp80 @modfl(x86_fp80, x86_fp80*)
659
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000660; CHECK: declare double @nearbyint(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000661declare double @nearbyint(double)
662
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000663; CHECK: declare float @nearbyintf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000664declare float @nearbyintf(float)
665
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000666; CHECK: declare x86_fp80 @nearbyintl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000667declare x86_fp80 @nearbyintl(x86_fp80)
668
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900669; CHECK: declare noundef i32 @open(i8* nocapture noundef readonly, i32 noundef, ...) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000670declare i32 @open(i8*, i32, ...)
671
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900672; CHECK-LINUX: declare noundef i32 @open64(i8* nocapture noundef readonly, i32 noundef, ...) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000673declare i32 @open64(i8*, i32, ...)
674
Juneyoung Lee36c86212020-09-09 20:31:51 +0900675; CHECK: declare noalias noundef %opaque* @opendir(i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000676declare %opaque* @opendir(i8*)
677
Juneyoung Lee36c86212020-09-09 20:31:51 +0900678; CHECK: declare noundef i32 @pclose(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000679declare i32 @pclose(%opaque*)
680
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900681; CHECK: declare void @perror(i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000682declare void @perror(i8*)
683
Juneyoung Lee36c86212020-09-09 20:31:51 +0900684; CHECK: declare noalias noundef %opaque* @popen(i8* nocapture noundef readonly, i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000685declare %opaque* @popen(i8*, i8*)
686
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000687; CHECK: declare i32 @posix_memalign(i8**, i64, i64) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000688declare i32 @posix_memalign(i8**, i64, i64)
689
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000690; CHECK: declare double @pow(double, double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000691declare double @pow(double, double)
692
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000693; CHECK: declare float @powf(float, float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000694declare float @powf(float, float)
695
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000696; CHECK: declare x86_fp80 @powl(x86_fp80, x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000697declare x86_fp80 @powl(x86_fp80, x86_fp80)
698
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900699; CHECK: declare noundef i64 @pread(i32 noundef, i8* nocapture noundef, i64 noundef, i64 noundef) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000700declare i64 @pread(i32, i8*, i64, i64)
701
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900702; CHECK: declare noundef i32 @printf(i8* nocapture noundef readonly, ...) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000703declare i32 @printf(i8*, ...)
704
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900705; CHECK: declare noundef i32 @putc(i32 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000706declare i32 @putc(i32, %opaque*)
707
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900708; CHECK: declare noundef i32 @putchar(i32 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000709declare i32 @putchar(i32)
710
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900711; CHECK: declare noundef i32 @putchar_unlocked(i32 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000712declare i32 @putchar_unlocked(i32)
713
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900714; CHECK: declare noundef i32 @puts(i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000715declare i32 @puts(i8*)
716
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900717; CHECK: declare noundef i64 @pwrite(i32 noundef, i8* nocapture noundef readonly, i64 noundef, i64 noundef) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000718declare i64 @pwrite(i32, i8*, i64, i64)
719
Juneyoung Lee36c86212020-09-09 20:31:51 +0900720; CHECK: declare void @qsort(i8* noundef, i64 noundef, i64 noundef, i32 (i8*, i8*)* nocapture noundef) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000721declare void @qsort(i8*, i64, i64, i32 (i8*, i8*)*)
722
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900723; CHECK: declare noundef i64 @read(i32 noundef, i8* nocapture noundef, i64 noundef) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000724declare i64 @read(i32, i8*, i64)
725
Juneyoung Lee36c86212020-09-09 20:31:51 +0900726; CHECK: declare noundef i64 @readlink(i8* nocapture noundef readonly, i8* nocapture noundef, i64 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000727declare i64 @readlink(i8*, i8*, i64)
728
Dávid Bolvanský65e94cc2020-10-17 22:23:39 +0200729; CHECK: declare noalias noundef i8* @realloc(i8* nocapture, i64) [[NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000730declare i8* @realloc(i8*, i64)
731
Juneyoung Lee67aac912020-09-20 18:08:27 +0900732; CHECK: declare noundef i8* @reallocf(i8*, i64)
Eric Christophercee313d2019-04-17 04:52:47 +0000733declare i8* @reallocf(i8*, i64)
734
Juneyoung Lee36c86212020-09-09 20:31:51 +0900735; CHECK: declare noundef i8* @realpath(i8* nocapture noundef readonly, i8* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000736declare i8* @realpath(i8*, i8*)
737
Juneyoung Lee36c86212020-09-09 20:31:51 +0900738; CHECK: declare noundef i32 @remove(i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000739declare i32 @remove(i8*)
740
Juneyoung Lee36c86212020-09-09 20:31:51 +0900741; CHECK: declare noundef i32 @rename(i8* nocapture noundef readonly, i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000742declare i32 @rename(i8*, i8*)
743
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900744; CHECK: declare void @rewind(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000745declare void @rewind(%opaque*)
746
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000747; CHECK: declare double @rint(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000748declare double @rint(double)
749
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000750; CHECK: declare float @rintf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000751declare float @rintf(float)
752
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000753; CHECK: declare x86_fp80 @rintl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000754declare x86_fp80 @rintl(x86_fp80)
755
Juneyoung Lee36c86212020-09-09 20:31:51 +0900756; CHECK: declare noundef i32 @rmdir(i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000757declare i32 @rmdir(i8*)
758
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000759; CHECK: declare double @round(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000760declare double @round(double)
761
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000762; CHECK: declare float @roundf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000763declare float @roundf(float)
764
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000765; CHECK: declare x86_fp80 @roundl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000766declare x86_fp80 @roundl(x86_fp80)
767
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900768; CHECK: declare noundef i32 @scanf(i8* nocapture noundef readonly, ...) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000769declare i32 @scanf(i8*, ...)
770
Juneyoung Lee36c86212020-09-09 20:31:51 +0900771; CHECK: declare void @setbuf(%opaque* nocapture noundef, i8* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000772declare void @setbuf(%opaque*, i8*)
773
Juneyoung Lee36c86212020-09-09 20:31:51 +0900774; CHECK: declare noundef i32 @setitimer(i32 noundef, %opaque* nocapture noundef readonly, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000775declare i32 @setitimer(i32, %opaque*, %opaque*)
776
Juneyoung Lee36c86212020-09-09 20:31:51 +0900777; CHECK: declare noundef i32 @setvbuf(%opaque* nocapture noundef, i8* noundef, i32 noundef, i64 noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000778declare i32 @setvbuf(%opaque*, i8*, i32, i64)
779
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000780; CHECK: declare double @sin(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000781declare double @sin(double)
782
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000783; CHECK: declare float @sinf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000784declare float @sinf(float)
785
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000786; CHECK: declare double @sinh(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000787declare double @sinh(double)
788
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000789; CHECK: declare float @sinhf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000790declare float @sinhf(float)
791
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000792; CHECK: declare x86_fp80 @sinhl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000793declare x86_fp80 @sinhl(x86_fp80)
794
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000795; CHECK: declare x86_fp80 @sinl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000796declare x86_fp80 @sinl(x86_fp80)
797
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100798; CHECK: declare noundef i32 @snprintf(i8* noalias nocapture noundef writeonly, i64 noundef, i8* nocapture noundef readonly, ...) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000799declare i32 @snprintf(i8*, i64, i8*, ...)
800
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100801; CHECK: declare noundef i32 @sprintf(i8* noalias nocapture noundef writeonly, i8* nocapture noundef readonly, ...) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000802declare i32 @sprintf(i8*, i8*, ...)
803
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000804; CHECK: declare double @sqrt(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000805declare double @sqrt(double)
806
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000807; CHECK: declare float @sqrtf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000808declare float @sqrtf(float)
809
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000810; CHECK: declare x86_fp80 @sqrtl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000811declare x86_fp80 @sqrtl(x86_fp80)
812
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900813; CHECK: declare noundef i32 @sscanf(i8* nocapture noundef readonly, i8* nocapture noundef readonly, ...) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000814declare i32 @sscanf(i8*, i8*, ...)
815
Juneyoung Lee36c86212020-09-09 20:31:51 +0900816; CHECK: declare noundef i32 @stat(i8* nocapture noundef readonly, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000817declare i32 @stat(i8*, %opaque*)
818
Juneyoung Lee36c86212020-09-09 20:31:51 +0900819; CHECK-LINUX: declare noundef i32 @stat64(i8* nocapture noundef readonly, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000820declare i32 @stat64(i8*, %opaque*)
821
Juneyoung Lee36c86212020-09-09 20:31:51 +0900822; CHECK: declare noundef i32 @statvfs(i8* nocapture noundef readonly, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000823declare i32 @statvfs(i8*, %opaque*)
824
Juneyoung Lee36c86212020-09-09 20:31:51 +0900825; CHECK-LINUX: declare noundef i32 @statvfs64(i8* nocapture noundef readonly, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000826declare i32 @statvfs64(i8*, %opaque*)
827
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100828; CHECK: declare i8* @stpcpy(i8* noalias writeonly, i8* noalias nocapture readonly) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000829declare i8* @stpcpy(i8*, i8*)
830
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100831; CHECK: declare i8* @stpncpy(i8* noalias writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000832declare i8* @stpncpy(i8*, i8*, i64)
833
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000834; CHECK: declare i32 @strcasecmp(i8* nocapture, i8* nocapture) [[G2]]
Eric Christophercee313d2019-04-17 04:52:47 +0000835declare i32 @strcasecmp(i8*, i8*)
836
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100837; CHECK: declare i8* @strcat(i8* noalias returned writeonly, i8* noalias nocapture readonly) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000838declare i8* @strcat(i8*, i8*)
839
Florian Hahn20e989e2020-08-28 09:37:01 +0100840; CHECK: declare i8* @strchr(i8*, i32) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
Eric Christophercee313d2019-04-17 04:52:47 +0000841declare i8* @strchr(i8*, i32)
842
Florian Hahn20e989e2020-08-28 09:37:01 +0100843; CHECK: declare i32 @strcmp(i8* nocapture, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
Eric Christophercee313d2019-04-17 04:52:47 +0000844declare i32 @strcmp(i8*, i8*)
845
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000846; CHECK: declare i32 @strcoll(i8* nocapture, i8* nocapture) [[G2]]
Eric Christophercee313d2019-04-17 04:52:47 +0000847declare i32 @strcoll(i8*, i8*)
848
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100849; CHECK: declare i8* @strcpy(i8* noalias returned writeonly, i8* noalias nocapture readonly) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000850declare i8* @strcpy(i8*, i8*)
851
Florian Hahn20e989e2020-08-28 09:37:01 +0100852; CHECK: declare i64 @strcspn(i8* nocapture, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
Eric Christophercee313d2019-04-17 04:52:47 +0000853declare i64 @strcspn(i8*, i8*)
854
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000855; CHECK: declare noalias i8* @strdup(i8* nocapture readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000856declare i8* @strdup(i8*)
857
Florian Hahn20e989e2020-08-28 09:37:01 +0100858; CHECK: declare i64 @strlen(i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
Eric Christophercee313d2019-04-17 04:52:47 +0000859declare i64 @strlen(i8*)
860
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000861; CHECK: declare i32 @strncasecmp(i8* nocapture, i8* nocapture, i64) [[G2]]
Eric Christophercee313d2019-04-17 04:52:47 +0000862declare i32 @strncasecmp(i8*, i8*, i64)
863
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100864; CHECK: declare i8* @strncat(i8* noalias returned writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000865declare i8* @strncat(i8*, i8*, i64)
866
Florian Hahn20e989e2020-08-28 09:37:01 +0100867; CHECK: declare i32 @strncmp(i8* nocapture, i8* nocapture, i64) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
Eric Christophercee313d2019-04-17 04:52:47 +0000868declare i32 @strncmp(i8*, i8*, i64)
869
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +0100870; CHECK: declare i8* @strncpy(i8* noalias returned writeonly, i8* noalias nocapture readonly, i64) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000871declare i8* @strncpy(i8*, i8*, i64)
872
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000873; CHECK: declare noalias i8* @strndup(i8* nocapture readonly, i64) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000874declare i8* @strndup(i8*, i64)
875
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000876; CHECK: declare i64 @strnlen(i8*, i64) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000877declare i64 @strnlen(i8*, i64)
878
Dávid Bolvanský65e94cc2020-10-17 22:23:39 +0200879; CHECK: declare i8* @strpbrk(i8*, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +0000880declare i8* @strpbrk(i8*, i8*)
881
Florian Hahn20e989e2020-08-28 09:37:01 +0100882; CHECK: declare i8* @strrchr(i8*, i32) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
Eric Christophercee313d2019-04-17 04:52:47 +0000883declare i8* @strrchr(i8*, i32)
884
Florian Hahn20e989e2020-08-28 09:37:01 +0100885; CHECK: declare i64 @strspn(i8* nocapture, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]]
Eric Christophercee313d2019-04-17 04:52:47 +0000886declare i64 @strspn(i8*, i8*)
887
Dávid Bolvanský65e94cc2020-10-17 22:23:39 +0200888; CHECK: declare i8* @strstr(i8*, i8* nocapture) [[ARGMEMONLY_NOFREE_NOUNWIND]]
Eric Christophercee313d2019-04-17 04:52:47 +0000889declare i8* @strstr(i8*, i8*)
890
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000891; CHECK: declare double @strtod(i8* readonly, i8** nocapture) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000892declare double @strtod(i8*, i8**)
893
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000894; CHECK: declare float @strtof(i8* readonly, i8** nocapture) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000895declare float @strtof(i8*, i8**)
896
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000897; CHECK: declare i8* @strtok(i8*, i8* nocapture readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000898declare i8* @strtok(i8*, i8*)
899
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000900; CHECK: declare i8* @strtok_r(i8*, i8* nocapture readonly, i8**) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000901declare i8* @strtok_r(i8*, i8*, i8**)
902
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000903; CHECK: declare i64 @strtol(i8* readonly, i8** nocapture, i32) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000904declare i64 @strtol(i8*, i8**, i32)
905
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000906; CHECK: declare x86_fp80 @strtold(i8* readonly, i8** nocapture) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000907declare x86_fp80 @strtold(i8*, i8**)
908
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000909; CHECK: declare i64 @strtoll(i8* readonly, i8** nocapture, i32) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000910declare i64 @strtoll(i8*, i8**, i32)
911
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000912; CHECK: declare i64 @strtoul(i8* readonly, i8** nocapture, i32) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000913declare i64 @strtoul(i8*, i8**, i32)
914
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000915; CHECK: declare i64 @strtoull(i8* readonly, i8** nocapture, i32) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000916declare i64 @strtoull(i8*, i8**, i32)
917
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000918; CHECK: declare i64 @strxfrm(i8* nocapture, i8* nocapture readonly, i64) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000919declare i64 @strxfrm(i8*, i8*, i64)
920
Juneyoung Lee36c86212020-09-09 20:31:51 +0900921; CHECK: declare noundef i32 @system(i8* nocapture noundef readonly) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000922declare i32 @system(i8*)
923
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000924; CHECK: declare double @tan(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000925declare double @tan(double)
926
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000927; CHECK: declare float @tanf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000928declare float @tanf(float)
929
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000930; CHECK: declare double @tanh(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000931declare double @tanh(double)
932
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000933; CHECK: declare float @tanhf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000934declare float @tanhf(float)
935
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000936; CHECK: declare x86_fp80 @tanhl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000937declare x86_fp80 @tanhl(x86_fp80)
938
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000939; CHECK: declare x86_fp80 @tanl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000940declare x86_fp80 @tanl(x86_fp80)
941
Juneyoung Lee36c86212020-09-09 20:31:51 +0900942; CHECK: declare noundef i64 @times(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000943declare i64 @times(%opaque*)
944
Juneyoung Lee36c86212020-09-09 20:31:51 +0900945; CHECK: declare noalias noundef %opaque* @tmpfile() [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000946declare %opaque* @tmpfile()
947
Juneyoung Lee36c86212020-09-09 20:31:51 +0900948; CHECK-LINUX: declare noalias noundef %opaque* @tmpfile64() [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000949declare %opaque* @tmpfile64()
950
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000951; CHECK: declare i32 @toascii(i32) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000952declare i32 @toascii(i32)
953
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000954; CHECK: declare double @trunc(double) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000955declare double @trunc(double)
956
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000957; CHECK: declare float @truncf(float) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000958declare float @truncf(float)
959
Brian Homerdingb4b21d82019-07-08 15:57:56 +0000960; CHECK: declare x86_fp80 @truncl(x86_fp80) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +0000961declare x86_fp80 @truncl(x86_fp80)
962
Juneyoung Lee36c86212020-09-09 20:31:51 +0900963; CHECK: declare noundef i32 @uname(%opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000964declare i32 @uname(%opaque*)
965
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900966; CHECK: declare noundef i32 @ungetc(i32 noundef, %opaque* nocapture noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000967declare i32 @ungetc(i32, %opaque*)
968
Juneyoung Lee36c86212020-09-09 20:31:51 +0900969; CHECK: declare noundef i32 @unlink(i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000970declare i32 @unlink(i8*)
971
Juneyoung Lee36c86212020-09-09 20:31:51 +0900972; CHECK: declare noundef i32 @unsetenv(i8* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000973declare i32 @unsetenv(i8*)
974
Juneyoung Lee36c86212020-09-09 20:31:51 +0900975; CHECK: declare noundef i32 @utime(i8* nocapture noundef readonly, %opaque* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000976declare i32 @utime(i8*, %opaque*)
977
Juneyoung Lee36c86212020-09-09 20:31:51 +0900978; CHECK: declare noundef i32 @utimes(i8* nocapture noundef readonly, %opaque* nocapture noundef readonly) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000979declare i32 @utimes(i8*, %opaque*)
980
Juneyoung Lee67aac912020-09-20 18:08:27 +0900981; CHECK: declare noalias noundef i8* @valloc(i64) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000982declare i8* @valloc(i64)
983
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900984; CHECK: declare noundef i32 @vfprintf(%opaque* nocapture noundef, i8* nocapture noundef readonly, %opaque* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000985declare i32 @vfprintf(%opaque*, i8*, %opaque*)
986
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900987; CHECK: declare noundef i32 @vfscanf(%opaque* nocapture noundef, i8* nocapture noundef readonly, %opaque* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000988declare i32 @vfscanf(%opaque*, i8*, %opaque*)
989
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900990; CHECK: declare noundef i32 @vprintf(i8* nocapture noundef readonly, %opaque* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000991declare i32 @vprintf(i8*, %opaque*)
992
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900993; CHECK: declare noundef i32 @vscanf(i8* nocapture noundef readonly, %opaque* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000994declare i32 @vscanf(i8*, %opaque*)
995
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900996; CHECK: declare noundef i32 @vsnprintf(i8* nocapture noundef, i64 noundef, i8* nocapture noundef readonly, %opaque* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +0000997declare i32 @vsnprintf(i8*, i64, i8*, %opaque*)
998
Juneyoung Leeef018cb2020-08-10 10:57:18 +0900999; CHECK: declare noundef i32 @vsprintf(i8* nocapture noundef, i8* nocapture noundef readonly, %opaque* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +00001000declare i32 @vsprintf(i8*, i8*, %opaque*)
1001
Juneyoung Leeef018cb2020-08-10 10:57:18 +09001002; CHECK: declare noundef i32 @vsscanf(i8* nocapture noundef readonly, i8* nocapture noundef readonly, %opaque* noundef) [[G1]]
Eric Christophercee313d2019-04-17 04:52:47 +00001003declare i32 @vsscanf(i8*, i8*, %opaque*)
1004
Juneyoung Leeef018cb2020-08-10 10:57:18 +09001005; CHECK: declare noundef i64 @write(i32 noundef, i8* nocapture noundef readonly, i64 noundef) [[G0]]
Eric Christophercee313d2019-04-17 04:52:47 +00001006declare i64 @write(i32, i8*, i64)
1007
1008
1009; memset_pattern16 isn't available everywhere.
Dávid Bolvanský7a2abf52020-10-29 19:14:55 +01001010; CHECK-DARWIN: declare void @memset_pattern16(i8* nocapture writeonly, i8* nocapture readonly, i64) [[ARGMEMONLY_NOFREE:#[0-9]+]]
Eric Christophercee313d2019-04-17 04:52:47 +00001011declare void @memset_pattern16(i8*, i8*, i64)
1012
Brian Homerdingb4b21d82019-07-08 15:57:56 +00001013; CHECK: attributes [[G0]] = { nofree }
1014; CHECK: attributes [[G1]] = { nofree nounwind }
Dávid Bolvanský65e94cc2020-10-17 22:23:39 +02001015; CHECK: attributes [[G2]] = { nofree nounwind readonly }
1016
1017; CHECK-DAG-UNKNOWN: attributes [[ARGMEMONLY_NOFREE_NOUNWIND]] = { argmemonly nofree nounwind }
1018; CHECK-DAG-UNKNOWN: attributes [[NOUNWIND]] = { nounwind }
1019; CHECK-DAG-UNKNOWN: attributes [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]] = { argmemonly nofree nounwind readonly }
1020
1021; CHECK-DAG-LINUX: attributes [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]] = { argmemonly nofree nounwind readonly }
1022; CHECK-DAG-LINUX: attributes [[ARGMEMONLY_NOFREE_NOUNWIND]] = { argmemonly nofree nounwind }
1023; CHECK-DAG-LINUX: attributes [[NOUNWIND]] = { nounwind }
1024
1025; CHECK-DAG-DARWIN: attributes [[ARGMEMONLY_NOFREE_NOUNWIND]] = { argmemonly nofree nounwind }
1026; CHECK-DAG-DARWIN: attributes [[NOUNWIND]] = { nounwind }
1027; CHECK-DAG-DARWIN: attributes [[ARGMEMONLY_NOFREE_NOUNWIND_READONLY]] = { argmemonly nofree nounwind readonly }
1028; CHECK-DAG-DARWIN: attributes [[ARGMEMONLY_NOFREE]] = { argmemonly nofree }
1029