summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
diff options
context:
space:
mode:
authorDavid Blaikie <dblaikie@gmail.com>2014-01-03 18:59:42 +0000
committerDavid Blaikie <dblaikie@gmail.com>2014-01-03 18:59:42 +0000
commitcfb2115e6624fd029e0079a976696f2eba7fc542 (patch)
tree949a867462e326cd55b6461c592c0d7f8b9de429 /llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
parent1d17bde708f3512510f4fae317250ac459301585 (diff)
downloadbcm5719-llvm-cfb2115e6624fd029e0079a976696f2eba7fc542.tar.gz
bcm5719-llvm-cfb2115e6624fd029e0079a976696f2eba7fc542.zip
Revert "Revert "Debug Info: Type Units: Simplify type hashing using IR-provided unique names.""
This reverts commit r198398, thus reapplying r198397. I had accidentally introduced an endianness issue when applying the hash to the type unit. Using support::ulittle64_t in the reinterpret_cast in addDwarfTypeUnitType fixes this issue. Original commit message: Debug Info: Type Units: Simplify type hashing using IR-provided unique names. What's good for LTO metadata size problems ought to be good for non-LTO debug info size too, so let's rely on the same uniqueness in both cases. If it's insufficient for non-LTO for whatever reason (since we now won't be uniquing CU-local types or any C types - but these are likely to not be the most significant contributors to type bloat) we should consider a frontend solution that'll help both LTO and non-LTO alike, rather than using DWARF-level DIE-hashing that only helps non-LTO debug info size. It's also much simpler this way and benefits C++ even more since we can deduplicate lexically separate definitions of the same C++ type since they have the same mangled name. llvm-svn: 198436
Diffstat (limited to 'llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h')
-rw-r--r--llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
index b81688ea3f0..84d9cae7a1d 100644
--- a/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
+++ b/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h
@@ -695,7 +695,8 @@ public:
/// \brief Add a DIE to the set of types that we're going to pull into
/// type units.
- void addDwarfTypeUnitType(uint16_t Language, DIE *Die, DICompositeType CTy);
+ void addDwarfTypeUnitType(uint16_t Language, StringRef Identifier, DIE *Die,
+ DICompositeType CTy);
/// \brief Add a label so that arange data can be generated for it.
void addArangeLabel(SymbolCU SCU) { ArangeLabels.push_back(SCU); }
OpenPOWER on IntegriCloud