summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/libcall-declarations.c
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2017-10-17 03:30:25 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2017-10-17 03:30:25 +0000
commit4e319ca894be92e484ca1f9bbe44c12a7f601d4b (patch)
tree9096fef4ef19b693d8e5f9db8fee27732ad10b9f /clang/test/CodeGen/libcall-declarations.c
parentef96986a1f8f47a67937c56564524e20e3903946 (diff)
downloadbcm5719-llvm-4e319ca894be92e484ca1f9bbe44c12a7f601d4b.tar.gz
bcm5719-llvm-4e319ca894be92e484ca1f9bbe44c12a7f601d4b.zip
Basic: make the nan family pure
The nan family of math routines do not rely on global state. They do however depend on their parameter. This fits the description of pure: Functions which have no effects except the return value and their return value depends only on the parameters and/or global variables. Mark the family as `readonly`. llvm-svn: 315968
Diffstat (limited to 'clang/test/CodeGen/libcall-declarations.c')
-rw-r--r--clang/test/CodeGen/libcall-declarations.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/clang/test/CodeGen/libcall-declarations.c b/clang/test/CodeGen/libcall-declarations.c
index 83b35fe3d0d..8a93b402ab7 100644
--- a/clang/test/CodeGen/libcall-declarations.c
+++ b/clang/test/CodeGen/libcall-declarations.c
@@ -330,9 +330,9 @@ void *use[] = {
// CHECK-NOERRNO: declare double @ldexp(double, i32) [[NUWRN]]
// CHECK-NOERRNO: declare float @ldexpf(float, i32) [[NUWRN]]
// CHECK-NOERRNO: declare x86_fp80 @ldexpl(x86_fp80, i32) [[NUWRN]]
-// CHECK-NOERRNO: declare double @nan(i8*) [[NUW:#[0-9]+]]
-// CHECK-NOERRNO: declare float @nanf(i8*) [[NUW]]
-// CHECK-NOERRNO: declare x86_fp80 @nanl(i8*) [[NUW]]
+// CHECK-NOERRNO: declare double @nan(i8*) [[NUWRO:#[0-9]+]]
+// CHECK-NOERRNO: declare float @nanf(i8*) [[NUWRO]]
+// CHECK-NOERRNO: declare x86_fp80 @nanl(i8*) [[NUWRO]]
// CHECK-NOERRNO: declare double @pow(double, double) [[NUWRN]]
// CHECK-NOERRNO: declare float @powf(float, float) [[NUWRN]]
// CHECK-NOERRNO: declare x86_fp80 @powl(x86_fp80, x86_fp80) [[NUWRN]]
@@ -539,9 +539,9 @@ void *use[] = {
// CHECK-ERRNO: declare double @fabs(double) [[NUWRN]]
// CHECK-ERRNO: declare float @fabsf(float) [[NUWRN]]
// CHECK-ERRNO: declare x86_fp80 @fabsl(x86_fp80) [[NUWRN]]
-// CHECK-ERRNO: declare double @nan(i8*) [[NUW:#[0-9]+]]
-// CHECK-ERRNO: declare float @nanf(i8*) [[NUW]]
-// CHECK-ERRNO: declare x86_fp80 @nanl(i8*) [[NUW]]
+// CHECK-ERRNO: declare double @nan(i8*) [[NUWRO:#[0-9]+]]
+// CHECK-ERRNO: declare float @nanf(i8*) [[NUWRO]]
+// CHECK-ERRNO: declare x86_fp80 @nanl(i8*) [[NUWRO]]
// CHECK-ERRNO: declare double @ceil(double) [[NUWRN]]
// CHECK-ERRNO: declare float @ceilf(float) [[NUWRN]]
// CHECK-ERRNO: declare x86_fp80 @ceill(x86_fp80) [[NUWRN]]
@@ -615,11 +615,7 @@ void *use[] = {
// CHECK-ERRNO: declare <2 x float> @ctanhf(<2 x float>) [[NUWRN]]
// CHECK-NOERRNO: attributes [[NUWRN]] = { nounwind readnone{{.*}} }
-// CHECK-NOERRNO: attributes [[NUW]] = { nounwind
-// CHECK-NOERRNO-NOT: readnone
-// CHECK-NOERRNO-SAME: {{.*}} }
+// CHECK-NOERRNO: attributes [[NUWRO]] = { nounwind readonly{{.*}} }
-// CHECK-ERRNO: attributes [[NUW]] = { nounwind
-// CHECK-ERRNO-NOT: readnone
-// CHECK-ERRNO-SAME: {{.*}} }
// CHECK-ERRNO: attributes [[NUWRN]] = { nounwind readnone{{.*}} }
+// CHECK-ERRNO: attributes [[NUWRO]] = { nounwind readonly{{.*}} }
OpenPOWER on IntegriCloud