From: Dan Gohman Date: Fri, 30 May 2008 22:40:06 +0000 (+0000) Subject: Add an isAggregateType predicate. X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=8666cc3b99cccef39281c715754e551a2b14363d;p=oota-llvm.git Add an isAggregateType predicate. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51794 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Type.h b/include/llvm/Type.h index c19e34b35dd..fe3c392c7c6 100644 --- a/include/llvm/Type.h +++ b/include/llvm/Type.h @@ -230,6 +230,15 @@ public: ID == IntegerTyID || ID == PointerTyID || ID == VectorTyID; } + /// isAggregateType - Return true if the type is an aggregate type. This + /// means it is valid as the first operand of an insertvalue or + /// extractvalue instruction. This includes struct and array types, but + /// does not include vector types. + /// + inline bool isAggregateType() const { + return ID == StructTyID || ID == ArrayTyID; + } + /// isSized - Return true if it makes sense to take the size of this type. To /// get the actual size for a particular target, it is reasonable to use the /// TargetData subsystem to do this.