Simplify some checks
authorNate Begeman <natebegeman@mac.com>
Mon, 12 May 2008 20:33:52 +0000 (20:33 +0000)
committerNate Begeman <natebegeman@mac.com>
Mon, 12 May 2008 20:33:52 +0000 (20:33 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50998 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Bitcode/Reader/BitcodeReader.cpp

index 8b333bcba280e5cdd3dc7defecc11f14262a1a30..40982666f006bfd6db628d2cf5ee47697a208951 100644 (file)
@@ -818,7 +818,7 @@ bool BitcodeReader::ParseConstants() {
 
       if (OpTy->isFloatingPoint())
         V = ConstantExpr::getFCmp(Record[3], Op0, Op1);
-      else if (OpTy->isInteger() || isa<PointerType>(OpTy))
+      else if (!isa<VectorType>(OpTy))
         V = ConstantExpr::getICmp(Record[3], Op0, Op1);
       else if (OpTy->isFPOrFPVector())
         V = ConstantExpr::getVFCmp(Record[3], Op0, Op1);
@@ -1359,10 +1359,10 @@ bool BitcodeReader::ParseFunctionBody(Function *F) {
           OpNum+1 != Record.size())
         return Error("Invalid CMP record");
       
-      if (LHS->getType()->isInteger() || isa<PointerType>(LHS->getType()))
-        I = new ICmpInst((ICmpInst::Predicate)Record[OpNum], LHS, RHS);
-      else if (LHS->getType()->isFloatingPoint())
+      if (LHS->getType()->isFloatingPoint())
         I = new FCmpInst((FCmpInst::Predicate)Record[OpNum], LHS, RHS);
+      else if (!isa<VectorType>(LHS->getType()))
+        I = new ICmpInst((ICmpInst::Predicate)Record[OpNum], LHS, RHS);
       else if (LHS->getType()->isFPOrFPVector())
         I = new VFCmpInst((FCmpInst::Predicate)Record[OpNum], LHS, RHS);
       else