[llvm-commits] CVS: llvm/lib/VMCore/Verifier.cpp IntrinsicLowering.cpp Function.cpp
Alkis Evlogimenos
alkis at cs.uiuc.edu
Sat Jun 12 14:25:16 PDT 2004
Changes in directory llvm/lib/VMCore:
Verifier.cpp updated: 1.108 -> 1.109
IntrinsicLowering.cpp updated: 1.16 -> 1.17
Function.cpp updated: 1.71 -> 1.72
---
Log message:
Add the isunordered intrinsic.
---
Diffs of the changes: (+18 -1)
Index: llvm/lib/VMCore/Verifier.cpp
diff -u llvm/lib/VMCore/Verifier.cpp:1.108 llvm/lib/VMCore/Verifier.cpp:1.109
--- llvm/lib/VMCore/Verifier.cpp:1.108 Thu Jun 10 21:29:43 2004
+++ llvm/lib/VMCore/Verifier.cpp Sat Jun 12 14:18:54 2004
@@ -688,7 +688,7 @@
break;
}
- case Intrinsic::isnan:
+ case Intrinsic::isnan:
Assert1(FT->getNumParams() == 1 && FT->getParamType(0)->isFloatingPoint(),
"Illegal prototype for llvm.isnan", IF);
Assert1(FT->getReturnType() == Type::BoolTy,
@@ -696,6 +696,16 @@
NumArgs = 1;
break;
+ case Intrinsic::isunordered:
+ Assert1(FT->getNumParams() == 2 &&
+ FT->getParamType(0)->isFloatingPoint() &&
+ FT->getParamType(1)->isFloatingPoint(),
+ "Illegal prototype for llvm.isunordered", IF);
+ Assert1(FT->getReturnType() == Type::BoolTy,
+ "Illegal prototype for llvm.isunordered", IF);
+ NumArgs = 2;
+ break;
+
case Intrinsic::setjmp: NumArgs = 1; break;
case Intrinsic::longjmp: NumArgs = 2; break;
case Intrinsic::sigsetjmp: NumArgs = 2; break;
Index: llvm/lib/VMCore/IntrinsicLowering.cpp
diff -u llvm/lib/VMCore/IntrinsicLowering.cpp:1.16 llvm/lib/VMCore/IntrinsicLowering.cpp:1.17
--- llvm/lib/VMCore/IntrinsicLowering.cpp:1.16 Thu Jun 10 21:54:02 2004
+++ llvm/lib/VMCore/IntrinsicLowering.cpp Sat Jun 12 14:18:54 2004
@@ -208,6 +208,12 @@
Type::BoolTy, isnanFCache);
break;
}
+ case Intrinsic::isunordered: {
+ static Function *isunorderedFCache = 0;
+ ReplaceCallWith("isunordered", CI, CI->op_begin()+1, CI->op_end(),
+ Type::BoolTy, isunorderedFCache);
+ break;
+ }
}
assert(CI->use_empty() &&
Index: llvm/lib/VMCore/Function.cpp
diff -u llvm/lib/VMCore/Function.cpp:1.71 llvm/lib/VMCore/Function.cpp:1.72
--- llvm/lib/VMCore/Function.cpp:1.71 Thu Jun 10 21:29:43 2004
+++ llvm/lib/VMCore/Function.cpp Sat Jun 12 14:18:54 2004
@@ -224,6 +224,7 @@
break;
case 'i':
if (getName() == "llvm.isnan") return Intrinsic::isnan;
+ if (getName() == "llvm.isunordered") return Intrinsic::isunordered;
break;
case 'l':
if (getName() == "llvm.longjmp") return Intrinsic::longjmp;
More information about the llvm-commits
mailing list