[llvm-commits] CVS: llvm/lib/VMCore/Function.cpp Verifier.cpp

Chris Lattner lattner at cs.uiuc.edu
Fri Apr 29 20:44:06 PDT 2005



Changes in directory llvm/lib/VMCore:

Function.cpp updated: 1.92 -> 1.93
Verifier.cpp updated: 1.130 -> 1.131
---
Log message:

Add llvm.sqrt intrinsic, patch contributed by Morten Ofstad



---
Diffs of the changes:  (+11 -0)

 Function.cpp |    1 +
 Verifier.cpp |   10 ++++++++++
 2 files changed, 11 insertions(+)


Index: llvm/lib/VMCore/Function.cpp
diff -u llvm/lib/VMCore/Function.cpp:1.92 llvm/lib/VMCore/Function.cpp:1.93
--- llvm/lib/VMCore/Function.cpp:1.92	Thu Apr 21 18:46:51 2005
+++ llvm/lib/VMCore/Function.cpp	Fri Apr 29 22:43:51 2005
@@ -245,6 +245,7 @@
     if (getName() == "llvm.setjmp")     return Intrinsic::setjmp;
     if (getName() == "llvm.sigsetjmp")  return Intrinsic::sigsetjmp;
     if (getName() == "llvm.siglongjmp") return Intrinsic::siglongjmp;
+    if (getName() == "llvm.sqrt")       return Intrinsic::sqrt;
     break;
   case 'v':
     if (getName() == "llvm.va_copy")  return Intrinsic::vacopy;


Index: llvm/lib/VMCore/Verifier.cpp
diff -u llvm/lib/VMCore/Verifier.cpp:1.130 llvm/lib/VMCore/Verifier.cpp:1.131
--- llvm/lib/VMCore/Verifier.cpp:1.130	Thu Apr 21 18:46:51 2005
+++ llvm/lib/VMCore/Verifier.cpp	Fri Apr 29 22:43:52 2005
@@ -723,6 +723,16 @@
     NumArgs = 2;
     break;
 
+  case Intrinsic::sqrt:
+    Assert1(FT->getNumParams() == 1,
+            "Illegal # arguments for intrinsic function!", IF);
+    Assert1(FT->getParamType(0)->isFloatingPoint(),
+            "Argument is not a floating point type!", IF);
+    Assert1(FT->getReturnType() == FT->getParamType(0),
+            "Return type is not the same as argument type!", IF);
+    NumArgs = 1;
+    break;
+
   case Intrinsic::setjmp:          NumArgs = 1; break;
   case Intrinsic::longjmp:         NumArgs = 2; break;
   case Intrinsic::sigsetjmp:       NumArgs = 2; break;






More information about the llvm-commits mailing list