Do not allow packed types for icmp and fcmp instructions.

llvm-svn: 32865
This commit is contained in:
Reid Spencer 2007-01-04 05:22:18 +00:00
parent 784ef79b55
commit 438f562e56
1 changed files with 2 additions and 5 deletions

View File

@ -739,9 +739,7 @@ void Verifier::visitICmpInst(ICmpInst& IC) {
Assert1(Op0Ty == Op1Ty,
"Both operands to ICmp instruction are not of the same type!", &IC);
// Check that the operands are the right type
Assert1(Op0Ty->isIntegral() || Op0Ty->getTypeID() == Type::PointerTyID ||
(isa<PackedType>(Op0Ty) &&
cast<PackedType>(Op0Ty)->getElementType()->isIntegral()),
Assert1(Op0Ty->isIntegral() || Op0Ty->getTypeID() == Type::PointerTyID,
"Invalid operand types for ICmp instruction", &IC);
visitInstruction(IC);
}
@ -753,8 +751,7 @@ void Verifier::visitFCmpInst(FCmpInst& FC) {
Assert1(Op0Ty == Op1Ty,
"Both operands to FCmp instruction are not of the same type!", &FC);
// Check that the operands are the right type
Assert1(Op0Ty->isFloatingPoint() || (isa<PackedType>(Op0Ty) &&
cast<PackedType>(Op0Ty)->getElementType()->isFloatingPoint()),
Assert1(Op0Ty->isFloatingPoint(),
"Invalid operand types for FCmp instruction", &FC);
visitInstruction(FC);
}