Use isa<> instead of getTypeID() to check StructType.
authorDevang Patel <dpatel@apple.com>
Thu, 21 Feb 2008 22:24:17 +0000 (22:24 +0000)
committerDevang Patel <dpatel@apple.com>
Thu, 21 Feb 2008 22:24:17 +0000 (22:24 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47460 91177308-0d34-0410-b5e6-96231b3b80d8

lib/VMCore/Function.cpp
lib/VMCore/Verifier.cpp

index ee386630d7d28f533d7337f5eaa2130496e44efa..49d770d5bd3ba6af2134399f900e763fb2a937b7 100644 (file)
@@ -180,7 +180,7 @@ Function::Function(const FunctionType *Ty, LinkageTypes Linkage,
   SymTab = new ValueSymbolTable();
 
   assert((getReturnType()->isFirstClassType() ||getReturnType() == Type::VoidTy
-          || getReturnType()->getTypeID() == Type::StructTyID)
+          || isa<StructType>(getReturnType()))
          && "LLVM functions cannot return aggregate values!");
 
   // If the function has arguments, mark them as lazily built.
index 2eb306b264b7be4c83faab03eee7f842792b5b30..386ee090e0146e567941167fa99be1ac2be4f3cc 100644 (file)
@@ -452,7 +452,7 @@ void Verifier::visitFunction(Function &F) {
           &F, FT);
   Assert1(F.getReturnType()->isFirstClassType() ||
           F.getReturnType() == Type::VoidTy || 
-          F.getReturnType()->getTypeID() == Type::StructTyID,
+          isa<StructType>(F.getReturnType()),
           "Functions cannot return aggregate values!", &F);
 
   Assert1(!F.isStructReturn() || FT->getReturnType() == Type::VoidTy,
@@ -1072,8 +1072,8 @@ void Verifier::visitInstruction(Instruction &I) {
   // Check that the return value of the instruction is either void or a legal
   // value type.
   Assert1(I.getType() == Type::VoidTy || I.getType()->isFirstClassType()
-          || ((isa<CallInst>(I) || isa<InvokeInst>(I))
-              && I.getType()->getTypeID() == Type::StructTyID),
+          || ((isa<CallInst>(I) || isa<InvokeInst>(I)) 
+              && isa<StructType>(I.getType())),
           "Instruction returns a non-scalar type!", &I);
 
   // Check that all uses of the instruction, if they are instructions
@@ -1095,14 +1095,13 @@ void Verifier::visitInstruction(Instruction &I) {
     // instructions.
     if (!I.getOperand(i)->getType()->isFirstClassType()) {
       if (isa<ReturnInst>(I) || isa<GetResultInst>(I))
-        Assert1(I.getOperand(i)->getType()->getTypeID() == Type::StructTyID,
+        Assert1(isa<StructType>(I.getOperand(i)->getType()),
                 "Invalid ReturnInst operands!", &I);
       else if (isa<CallInst>(I) || isa<InvokeInst>(I)) {
         if (const PointerType *PT = dyn_cast<PointerType>
             (I.getOperand(i)->getType())) {
           const Type *ETy = PT->getElementType();
-          Assert1(ETy->getTypeID() == Type::StructTyID,
-                  "Invalid CallInst operands!", &I);
+          Assert1(isa<StructType>(ETy), "Invalid CallInst operands!", &I);
         }
         else
           Assert1(0, "Invalid CallInst operands!", &I);