aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReid Spencer <rspencer@reidspencer.com>2006-01-19 01:20:03 +0000
committerReid Spencer <rspencer@reidspencer.com>2006-01-19 01:20:03 +0000
commitd615bd9013846fbc7a6c4b8922c0e6988b55a4c0 (patch)
treef060d79257b994d5cd1b9646c26448bb76d85972
parent4283ac78577a2a6b3b8b8f07126891eabd08aeab (diff)
Don't accept the ctpop, cttz, or ctlz intrinsics with signed arguments. The
interface requires unsigned arguments. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25433 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/VMCore/Verifier.cpp52
1 files changed, 16 insertions, 36 deletions
diff --git a/lib/VMCore/Verifier.cpp b/lib/VMCore/Verifier.cpp
index 9f4a6c894d..36462388b3 100644
--- a/lib/VMCore/Verifier.cpp
+++ b/lib/VMCore/Verifier.cpp
@@ -810,9 +810,8 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::UByteTy
- || FT->getParamType(0) == Type::SByteTy,
- "Argument must be a byte type!", IF);
+ Assert1(FT->getParamType(0) == Type::UByteTy,
+ "Argument is not ubyte!", IF);
NumArgs = 1;
break;
@@ -821,9 +820,8 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::UShortTy
- || FT->getParamType(0) == Type::ShortTy,
- "Argument must be a short type!", IF);
+ Assert1(FT->getParamType(0) == Type::UShortTy,
+ "Argument is not ushort!", IF);
NumArgs = 1;
break;
@@ -832,9 +830,7 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::UIntTy
- || FT->getParamType(0) == Type::IntTy,
- "Argument must be an int type!", IF);
+ Assert1(FT->getParamType(0) == Type::UIntTy, "Argument is not uint!", IF);
NumArgs = 1;
break;
@@ -843,9 +839,7 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::ULongTy
- || FT->getParamType(0) == Type::LongTy,
- "Argument must be a long type!", IF);
+ Assert1(FT->getParamType(0) == Type::ULongTy, "Argument is not ulong!", IF);
NumArgs = 1;
break;
@@ -854,9 +848,7 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::UByteTy
- || FT->getParamType(0) == Type::SByteTy,
- "Argument must be a byte type!", IF);
+ Assert1(FT->getParamType(0) == Type::UByteTy, "Argument is not ubyte!", IF);
NumArgs = 1;
break;
@@ -865,9 +857,8 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::UShortTy
- || FT->getParamType(0) == Type::ShortTy,
- "Argument must be a short type!", IF);
+ Assert1(FT->getParamType(0) == Type::UShortTy,
+ "Argument is not ushort!", IF);
NumArgs = 1;
break;
case Intrinsic::ctlz_i32:
@@ -875,9 +866,7 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::UIntTy
- || FT->getParamType(0) == Type::IntTy,
- "Argument must be an int type!", IF);
+ Assert1(FT->getParamType(0) == Type::UIntTy, "Argument is not uint!", IF);
NumArgs = 1;
break;
case Intrinsic::ctlz_i64:
@@ -885,9 +874,7 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::ULongTy
- || FT->getParamType(0) == Type::LongTy,
- "Argument must be a long type!", IF);
+ Assert1(FT->getParamType(0) == Type::ULongTy, "Argument is not ulong!", IF);
NumArgs = 1;
break;
case Intrinsic::cttz_i8:
@@ -895,9 +882,7 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::UByteTy
- || FT->getParamType(0) == Type::SByteTy,
- "Argument must be a byte type!", IF);
+ Assert1(FT->getParamType(0) == Type::UByteTy, "Argument is not ubyte!", IF);
NumArgs = 1;
break;
case Intrinsic::cttz_i16:
@@ -905,9 +890,8 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::UShortTy
- || FT->getParamType(0) == Type::ShortTy,
- "Argument must be a short type!", IF);
+ Assert1(FT->getParamType(0) == Type::UShortTy,
+ "Argument is not ushort!", IF);
NumArgs = 1;
break;
case Intrinsic::cttz_i32:
@@ -915,9 +899,7 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::UIntTy
- || FT->getParamType(0) == Type::IntTy,
- "Argument must be an int type!", IF);
+ Assert1(FT->getParamType(0) == Type::UIntTy, "Argument is not uint!", IF);
NumArgs = 1;
break;
case Intrinsic::cttz_i64:
@@ -925,9 +907,7 @@ void Verifier::visitIntrinsicFunctionCall(Intrinsic::ID ID, CallInst &CI) {
"Illegal # arguments for intrinsic function!", IF);
Assert1(FT->getReturnType() == FT->getParamType(0),
"Return type does not match source type", IF);
- Assert1(FT->getParamType(0) == Type::ULongTy
- || FT->getParamType(0) == Type::LongTy,
- "Argument must be a long type!", IF);
+ Assert1(FT->getParamType(0) == Type::ULongTy, "Argument Is not ulong!", IF);
NumArgs = 1;
break;