summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorTim Northover <tnorthover@apple.com>2014-01-14 19:26:03 +0000
committerTim Northover <tnorthover@apple.com>2014-01-14 19:26:03 +0000
commit87994450657e8b6294393db707945adbe9cb200e (patch)
tree800bfc8958272c3115344ec63062576981e71b0b /clang/test
parent08ff298d512d2c919cba4a3bc7ade60561b28a8d (diff)
downloadbcm5719-llvm-87994450657e8b6294393db707945adbe9cb200e.tar.gz
bcm5719-llvm-87994450657e8b6294393db707945adbe9cb200e.zip
Darwin: add __sinpi (etc) and __exp10 libbuiltins
These functions have the same constness properties of the normal libm functions, which allows LLVM to optimise code better in general. There are also a couple of specific optimisations that only trigger when these are properly marked. rdar://problem/13729466 llvm-svn: 199249
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CodeGen/libcall-declarations.c21
1 files changed, 20 insertions, 1 deletions
diff --git a/clang/test/CodeGen/libcall-declarations.c b/clang/test/CodeGen/libcall-declarations.c
index 6442e29bd86..345b74fe97d 100644
--- a/clang/test/CodeGen/libcall-declarations.c
+++ b/clang/test/CodeGen/libcall-declarations.c
@@ -244,6 +244,16 @@ long double _Complex ctanl(long double _Complex);
double _Complex ctanh(double _Complex);
float _Complex ctanhf(float _Complex);
long double _Complex ctanhl(long double _Complex);
+
+double __sinpi(double);
+float __sinpif(float);
+double __cospi(double);
+float __cospif(float);
+double __tanpi(double);
+float __tanpif(float);
+
+double __exp10(double);
+float __exp10f(float);
#ifdef __cplusplus
}
#endif
@@ -298,7 +308,8 @@ void *use[] = {
F(crealf), F(creall), F(csin), F(csinf), F(csinl),
F(csinh), F(csinhf), F(csinhl), F(csqrt), F(csqrtf),
F(csqrtl), F(ctan), F(ctanf), F(ctanl), F(ctanh),
- F(ctanhf), F(ctanhl)
+ F(ctanhf), F(ctanhl), F(__sinpi), F(__sinpif), F(__cospi),
+ F(__cospif), F(__tanpi), F(__tanpif), F(__exp10), F(__exp10f)
};
// CHECK-NOERRNO: declare double @atan2(double, double) [[NUW:#[0-9]+]]
@@ -510,6 +521,14 @@ void *use[] = {
// CHECK-NOERRNO: declare <2 x float> @ctanf(<2 x float>) [[NUW]]
// CHECK-NOERRNO: declare { double, double } @ctanh(double, double) [[NUW]]
// CHECK-NOERRNO: declare <2 x float> @ctanhf(<2 x float>) [[NUW]]
+// CHECK-NOERRNO: declare double @__sinpi(double) [[NUW]]
+// CHECK-NOERRNO: declare float @__sinpif(float) [[NUW]]
+// CHECK-NOERRNO: declare double @__cospi(double) [[NUW]]
+// CHECK-NOERRNO: declare float @__cospif(float) [[NUW]]
+// CHECK-NOERRNO: declare double @__tanpi(double) [[NUW]]
+// CHECK-NOERRNO: declare float @__tanpif(float) [[NUW]]
+// CHECK-NOERRNO: declare double @__exp10(double) [[NUW]]
+// CHECK-NOERRNO: declare float @__exp10f(float) [[NUW]]
// CHECK-ERRNO: declare i32 @abs(i32) [[NUW:#[0-9]+]]
// CHECK-ERRNO: declare i64 @labs(i64) [[NUW]]
OpenPOWER on IntegriCloud