llvm-6502/lib/IR
Adrian Prantl 849c7601a0 IR / debug info: Add a DWOId field to DICompileUnit,
so DWARF skeleton CUs can be expression in IR. A skeleton CU is a
(typically empty) DW_TAG_compile_unit that has a DW_AT_(GNU)_dwo_name and
a DW_AT_(GNU)_dwo_id attribute. It is used to refer to external debug info.

This is a prerequisite for clang module debugging as discussed in
http://lists.cs.uiuc.edu/pipermail/cfe-dev/2014-November/040076.html.
In order to refer to external types stored in split DWARF (dwo) objects,
such as clang modules, we need to emit skeleton CUs, which identify the
dwarf object (i.e., the clang module) by filename (the SplitDebugFilename)
and a hash value, the dwo_id.

This patch only contains the IR changes. The idea is that a CUs with a
non-zero dwo_id field will be emitted together with a DW_AT_GNU_dwo_name
and DW_AT_GNU_dwo_id attribute.

http://reviews.llvm.org/D9488
rdar://problem/20091852

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@237949 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-21 20:37:30 +00:00
..
AsmWriter.cpp IR / debug info: Add a DWOId field to DICompileUnit, 2015-05-21 20:37:30 +00:00
AttributeImpl.h Add missing dereferenceable_or_null getters 2015-05-06 17:41:54 +00:00
Attributes.cpp Change typeIncompatible to return an AttrBuilder instead of new-ing an AttributeSet. 2015-05-06 23:19:56 +00:00
AutoUpgrade.cpp [opaque pointer type] Pass explicit type to Load instruction creation in AutoUpgrade 2015-05-20 21:46:30 +00:00
BasicBlock.cpp Add a speculative execution pass 2015-05-15 17:54:48 +00:00
CMakeLists.txt [opaque pointer type] Explicit pointee type for GEPOperator/GEPConstantExpr. 2015-05-08 00:42:26 +00:00
Comdat.cpp
ConstantFold.cpp [opaque pointer type] Pass explicit pointee type in another case of GEP constant folding 2015-05-21 00:06:38 +00:00
ConstantFold.h Recommit r236670: [opaque pointer type] Pass explicit pointer type through GEP constant folding"" 2015-05-07 17:28:58 +00:00
ConstantRange.cpp
Constants.cpp [opaque pointer type] Explicit pointee type for GEPOperator/GEPConstantExpr. 2015-05-08 00:42:26 +00:00
ConstantsContext.h Fix some odd whitespace and formatting errors while making 2015-05-18 21:49:02 +00:00
Core.cpp
DataLayout.cpp
DebugInfo.cpp
DebugInfoMetadata.cpp IR / debug info: Add a DWOId field to DICompileUnit, 2015-05-21 20:37:30 +00:00
DebugLoc.cpp
DiagnosticInfo.cpp
DiagnosticPrinter.cpp
DIBuilder.cpp IR / debug info: Add a DWOId field to DICompileUnit, 2015-05-21 20:37:30 +00:00
Dominators.cpp
Function.cpp Store intrinsic ID by value in Function instead of a string lookup. NFC. 2015-05-19 00:24:26 +00:00
GCOV.cpp
Globals.cpp While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
GVMaterializer.cpp
InlineAsm.cpp
Instruction.cpp
Instructions.cpp [opaque pointer type] Pass explicit type to Load instruction creation in AutoUpgrade 2015-05-20 21:46:30 +00:00
IntrinsicInst.cpp
IRBuilder.cpp Change Function::getIntrinsicID() to return an Intrinsic::ID. NFC. 2015-05-20 17:16:39 +00:00
IRPrintingPasses.cpp
LegacyPassManager.cpp
LLVMBuild.txt
LLVMContext.cpp Dereferenceable, dereferenceable_or_null metadata for loads 2015-05-19 20:10:19 +00:00
LLVMContextImpl.cpp
LLVMContextImpl.h IR / debug info: Add a DWOId field to DICompileUnit, 2015-05-21 20:37:30 +00:00
Makefile
Mangler.cpp
MDBuilder.cpp Add function entry count metadata. 2015-05-13 15:13:45 +00:00
Metadata.cpp
MetadataImpl.h
MetadataTracking.cpp
Module.cpp While in GlobalValue fix the function(s) that don't follow the 2015-05-15 18:20:14 +00:00
module.modulemap
Operator.cpp [opaque pointer type] Explicit pointee type for GEPOperator/GEPConstantExpr. 2015-05-08 00:42:26 +00:00
Pass.cpp
PassManager.cpp
PassRegistry.cpp
Statepoint.cpp
SymbolTableListTraitsImpl.h
Type.cpp Extract the load/store type verification to a separate function. 2015-05-18 21:48:55 +00:00
TypeFinder.cpp
Use.cpp
User.cpp
Value.cpp Store intrinsic ID by value in Function instead of a string lookup. NFC. 2015-05-19 00:24:26 +00:00
ValueSymbolTable.cpp Changed renaming of local symbols by inserting a dot vefore the numeric suffix. 2015-05-12 16:47:30 +00:00
ValueTypes.cpp
Verifier.cpp [opaque pointer type] Pass explicit type to Load instruction creation in AutoUpgrade 2015-05-20 21:46:30 +00:00