llvm/lib
Manman Ren b8b70e10a2 Debug Info: remove duplication of DIEs when a DIE can be shared across CUs.
We add a map in DwarfDebug to map MDNodes that are shareable across CUs to the
corresponding DIEs: MDTypeNodeToDieMap. These DIEs can be shared across CUs,
that is why we keep the maps in DwarfDebug instead of CompileUnit.

We make the assumption that if a DIE is not added to an owner yet, we assume
it belongs to the current CU. Since DIEs for the type system are added to
their owners immediately after creation, and other DIEs belong to the current
CU, the assumption should be true.

A testing case is added to show that we only create a single DIE for a type
MDNode and we use ref_addr to refer to the type DIE.

We also add a testing case to show ref_addr relocations for non-darwin
platforms.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@193779 91177308-0d34-0410-b5e6-96231b3b80d8
2013-10-31 17:54:35 +00:00
..
Analysis Merge CallGraph and BasicCallGraph. 2013-10-31 03:03:55 +00:00
AsmParser Revert r193251 : Use address-taken to disambiguate global variable and indirect memops. 2013-10-27 03:08:44 +00:00
Bitcode Fix a use after free on invalid input. 2013-10-31 04:20:23 +00:00
CodeGen Debug Info: remove duplication of DIEs when a DIE can be shared across CUs. 2013-10-31 17:54:35 +00:00
DebugInfo DWARFAbbreviationDeclaration: remove dead code, refactor parsing code and make it more robust. No functionality change. 2013-10-31 17:20:14 +00:00
ExecutionEngine The FIXME was indeed fixed in the linker, comment removed. 2013-10-25 12:01:53 +00:00
IR Enable variable arguments support for intrinsics. 2013-10-31 17:18:11 +00:00
IRReader Add 'const' qualifiers to static const char* variables. 2013-07-16 01:17:10 +00:00
Linker Add a 'deleteModule' method to the Linker class. 2013-10-16 08:59:57 +00:00
LTO Move getSymbol to TargetLoweringObjectFile. 2013-10-29 17:28:26 +00:00
MC Remove unused flag. 2013-10-31 15:49:39 +00:00
Object Support for microMIPS jump instructions 2013-10-29 16:38:59 +00:00
Option Fix another mistake in r190442. 2013-09-10 23:22:56 +00:00
Support Rules adjustments in order to build on DragonFly BSD. 2013-10-31 14:35:00 +00:00
TableGen Fix most memory leaks in tablegen. 2013-10-31 04:07:41 +00:00
Target whitespace 2013-10-31 17:18:07 +00:00
Transforms Merge CallGraph and BasicCallGraph. 2013-10-31 03:03:55 +00:00
CMakeLists.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
LLVMBuild.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
Makefile Reformat Makefile. No other changes. 2013-10-30 04:03:03 +00:00