X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=include%2Fllvm%2FType.h;h=fe3c392c7c6cd03f597aca9ead7c76c7800fcc7f;hb=a6fb5b54f3a35fdefbb03b9c7be4c6d6d53cdd35;hp=c19e34b35dd11ee3c3ad055e7af8904971d4e037;hpb=43d1fd449f1a0ac9d9dafa0b9569bb6b2e976198;p=oota-llvm.git 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.