aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/Type.h
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2008-05-30 22:40:06 +0000
committerDan Gohman <gohman@apple.com>2008-05-30 22:40:06 +0000
commit8666cc3b99cccef39281c715754e551a2b14363d (patch)
treec4d0abee020739b8cd42444689ecf8ea6524d7e4 /include/llvm/Type.h
parent7645e574d2d50b1a737f91013fba75af61426fcf (diff)
Add an isAggregateType predicate.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51794 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Type.h')
-rw-r--r--include/llvm/Type.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/llvm/Type.h b/include/llvm/Type.h
index c19e34b35d..fe3c392c7c 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.