Let invoke return aggregate value.

llvm-svn: 47425
diff --git a/llvm/lib/VMCore/Value.cpp b/llvm/lib/VMCore/Value.cpp
index 440e0a6..9f8f56e 100644
--- a/llvm/lib/VMCore/Value.cpp
+++ b/llvm/lib/VMCore/Value.cpp
@@ -34,7 +34,7 @@
 Value::Value(const Type *ty, unsigned scid)
   : SubclassID(scid), SubclassData(0), Ty(checkType(ty)),
     UseList(0), Name(0) {
-  if (isa<CallInst>(this))
+  if (isa<CallInst>(this) || isa<InvokeInst>(this))
     assert((Ty->isFirstClassType() || Ty == Type::VoidTy ||
             isa<OpaqueType>(ty) || Ty->getTypeID() == Type::StructTyID) &&
            "invalid CallInst  type!");