summaryrefslogtreecommitdiff
path: root/include/llvm/Support
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2013-10-25 18:38:43 +0000
committerDavid Blaikie <dblaikie@gmail.com>2013-10-25 18:38:43 +0000
commita954618c6e6c5f94d3cedc0b6bc19dbc49e56ac2 (patch)
treee3bf6e25cc80684422154e73ad3d949bdad767ba /include/llvm/Support
parented400c710890313116aeea9a070dce7956da44d1 (diff)
downloadllvm-a954618c6e6c5f94d3cedc0b6bc19dbc49e56ac2.tar.gz
llvm-a954618c6e6c5f94d3cedc0b6bc19dbc49e56ac2.tar.bz2
llvm-a954618c6e6c5f94d3cedc0b6bc19dbc49e56ac2.tar.xz
DIEHash: Summary hashing of nested types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193427 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Support')
-rw-r--r--include/llvm/Support/Dwarf.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/llvm/Support/Dwarf.h b/include/llvm/Support/Dwarf.h
index f3f42741ef..23bbd1c384 100644
--- a/include/llvm/Support/Dwarf.h
+++ b/include/llvm/Support/Dwarf.h
@@ -141,6 +141,34 @@ enum Tag LLVM_ENUM_INT_TYPE(uint16_t) {
DW_TAG_hi_user = 0xffff
};
+inline bool isType(Tag T) {
+ switch (T) {
+ case DW_TAG_array_type:
+ case DW_TAG_class_type:
+ case DW_TAG_interface_type:
+ case DW_TAG_enumeration_type:
+ case DW_TAG_pointer_type:
+ case DW_TAG_reference_type:
+ case DW_TAG_rvalue_reference_type:
+ case DW_TAG_string_type:
+ case DW_TAG_structure_type:
+ case DW_TAG_subroutine_type:
+ case DW_TAG_union_type:
+ case DW_TAG_ptr_to_member_type:
+ case DW_TAG_set_type:
+ case DW_TAG_subrange_type:
+ case DW_TAG_base_type:
+ case DW_TAG_const_type:
+ case DW_TAG_file_type:
+ case DW_TAG_packed_type:
+ case DW_TAG_volatile_type:
+ case DW_TAG_typedef:
+ return true;
+ default:
+ return false;
+ }
+}
+
enum Attribute LLVM_ENUM_INT_TYPE(uint16_t) {
// Attributes
DW_AT_sibling = 0x01,