]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - opencl/llvm.git/commit
Debug Info: Type Units: Simplify type hashing using IR-provided unique names.
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 3 Jan 2014 04:20:26 +0000 (04:20 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 3 Jan 2014 04:20:26 +0000 (04:20 +0000)
commit5df1dd410e9426600ef123d6d48dceeb9d75d1ca
treea723d9c36adaf8973621a1042ee454045f07649c
parent32abfefd9b7cbbf759a5b5d61f251e9515e465bf
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198397 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfDebug.h
lib/CodeGen/AsmPrinter/DwarfUnit.cpp
test/DebugInfo/X86/c-type-units.ll
test/DebugInfo/X86/generate-odr-hash.ll