summaryrefslogtreecommitdiffstats
path: root/llvm/lib/VMCore/Verifier.cpp
diff options
context:
space:
mode:
authorJohn Criswell <criswell@uiuc.edu>2004-04-14 13:46:52 +0000
committerJohn Criswell <criswell@uiuc.edu>2004-04-14 13:46:52 +0000
commit23c48d63d660ab1aeb948a1b4f8c14a4bc7b0802 (patch)
tree31086b34e274ac60d361bcb9b3ac96b328ccf168 /llvm/lib/VMCore/Verifier.cpp
parent6679e46b592fb8a9976b88b8e2ea35d829c00339 (diff)
downloadbcm5719-llvm-23c48d63d660ab1aeb948a1b4f8c14a4bc7b0802.tar.gz
bcm5719-llvm-23c48d63d660ab1aeb948a1b4f8c14a4bc7b0802.zip
Finish adding the llvm.readio and llvm.writeio intrinsics.
Sorry these didn't get in yesterday. llvm-svn: 12942
Diffstat (limited to 'llvm/lib/VMCore/Verifier.cpp')
-rw-r--r--llvm/lib/VMCore/Verifier.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/llvm/lib/VMCore/Verifier.cpp b/llvm/lib/VMCore/Verifier.cpp
index f40ffe0a13b..fc237e69e51 100644
--- a/llvm/lib/VMCore/Verifier.cpp
+++ b/llvm/lib/VMCore/Verifier.cpp
@@ -618,14 +618,36 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
NumArgs = 2;
break;
+ case Intrinsic::writeio:
+ Assert1(FT->getNumParams() == 2,
+ "Illegal # arguments for intrinsic function!", IF);
+ Assert1(FT->getParamType(0)->isFirstClassType(),
+ "First argument not a first class type!", IF);
+ Assert1(FT->getParamType(1)->getPrimitiveID() == Type::PointerTyID,
+ "Second argument not a pointer!", IF);
+ NumArgs = 2;
+ break;
+
case Intrinsic::readport:
Assert1(FT->getNumParams() == 1,
"Illegal # arguments for intrinsic function!", IF);
+ Assert1(FT->getReturnType()->isFirstClassType(),
+ "Return type is not a first class type!", IF);
Assert1(FT->getParamType(0)->isUnsigned(),
"First argument not unsigned int!", IF);
NumArgs = 1;
break;
+ case Intrinsic:: readio:
+ Assert1(FT->getNumParams() == 1,
+ "Illegal # arguments for intrinsic function!", IF);
+ Assert1(FT->getReturnType()->isFirstClassType(),
+ "Return type is not a first class type!", IF);
+ Assert1(FT->getParamType(0)->getPrimitiveID() == Type::PointerTyID,
+ "First argument not a pointer!", IF);
+ NumArgs = 1;
+ break;
+
case Intrinsic::setjmp: NumArgs = 1; break;
case Intrinsic::longjmp: NumArgs = 2; break;
case Intrinsic::sigsetjmp: NumArgs = 2; break;
OpenPOWER on IntegriCloud