summaryrefslogtreecommitdiffstats
path: root/llvm/unittests/CodeGen/DIEHashTest.cpp
diff options
context:
space:
mode:
authorEric Christopher <echristo@gmail.com>2013-09-03 21:57:57 +0000
committerEric Christopher <echristo@gmail.com>2013-09-03 21:57:57 +0000
commit25b7adc8cecc675ff238681c0fae75cdffd4ff91 (patch)
tree341b01464ef0d7108563dd9dec4242764aea8575 /llvm/unittests/CodeGen/DIEHashTest.cpp
parentb86e2ad8190c8b70d2ee35bcc0faceae56e19637 (diff)
downloadbcm5719-llvm-25b7adc8cecc675ff238681c0fae75cdffd4ff91.tar.gz
bcm5719-llvm-25b7adc8cecc675ff238681c0fae75cdffd4ff91.zip
Add a hashing routine that handles hashing types. Add a test for
hashing the contents of DW_FORM_data1 on top of a type with attributes. llvm-svn: 189862
Diffstat (limited to 'llvm/unittests/CodeGen/DIEHashTest.cpp')
-rw-r--r--llvm/unittests/CodeGen/DIEHashTest.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/llvm/unittests/CodeGen/DIEHashTest.cpp b/llvm/unittests/CodeGen/DIEHashTest.cpp
new file mode 100644
index 00000000000..54dc4ee5d7f
--- /dev/null
+++ b/llvm/unittests/CodeGen/DIEHashTest.cpp
@@ -0,0 +1,29 @@
+//===- llvm/unittest/DebugInfo/DWARFFormValueTest.cpp ---------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../lib/CodeGen/AsmPrinter/DIE.h"
+#include "../lib/CodeGen/AsmPrinter/DIEHash.h"
+#include "llvm/Support/Dwarf.h"
+#include "llvm/Support/Debug.h"
+#include "llvm/Support/Format.h"
+#include "gtest/gtest.h"
+
+namespace {
+
+using namespace llvm;
+TEST(DIEHashData1Test, DIEHash) {
+ DIEHash Hash;
+ DIE *Die = new DIE(dwarf::DW_TAG_base_type);
+ DIEValue *Size = new DIEInteger(4);
+ Die->addValue(dwarf::DW_AT_byte_size, dwarf::DW_FORM_data1, Size);
+ uint64_t MD5Res = Hash.computeTypeSignature(Die);
+ ASSERT_TRUE(MD5Res == 0x540e9ff30ade3e4a);
+ delete Die;
+}
+}
OpenPOWER on IntegriCloud