Reenable sqrt IR generation test.
authorDale Johannesen <dalej@apple.com>
Thu, 24 Sep 2009 23:37:40 +0000 (23:37 +0000)
committerDale Johannesen <dalej@apple.com>
Thu, 24 Sep 2009 23:37:40 +0000 (23:37 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82731 91177308-0d34-0410-b5e6-96231b3b80d8

test/FrontendC/2005-07-20-SqrtNoErrno.c
test/FrontendC/2009-09-24-SqrtErrno.c [new file with mode: 0644]

index 3ca70b9556f86afe79a892ef9f7bd3db8e05a675..a321a3884e8b377f9c6d63968bd21ce010964ad8 100644 (file)
@@ -1,10 +1,11 @@
-// RUN: %llvmgcc %s -S -o - -fno-math-errno | grep llvm.sqrt
+// RUN: %llvmgcc %s -S -o - -fno-math-errno | FileCheck %s
 // llvm.sqrt has undefined behavior on negative inputs, so it is
 // inappropriate to translate C/C++ sqrt to this.
-// XFAIL: *
 #include <math.h>
 
 float foo(float X) {
-  // Check that this compiles to llvm.sqrt when errno is ignored.
+// CHECK: foo
+// CHECK: sqrtf(float %1) nounwind readonly
+  // Check that this is marked readonly when errno is ignored.
   return sqrtf(X);
 }
diff --git a/test/FrontendC/2009-09-24-SqrtErrno.c b/test/FrontendC/2009-09-24-SqrtErrno.c
new file mode 100644 (file)
index 0000000..09fc876
--- /dev/null
@@ -0,0 +1,12 @@
+// RUN: %llvmgcc %s -S -o - -fmath-errno | FileCheck %s
+// llvm.sqrt has undefined behavior on negative inputs, so it is
+// inappropriate to translate C/C++ sqrt to this.
+#include <math.h>
+
+float foo(float X) {
+// CHECK: foo
+// CHECK-NOT: readonly
+// CHECK: return
+  // Check that this is not marked readonly when errno is used.
+  return sqrtf(X);
+}