]> granicus.if.org Git - llvm/commit
DebugInfo: New metadata representation for global variables.
authorPeter Collingbourne <peter@pcc.me.uk>
Tue, 13 Sep 2016 01:12:59 +0000 (01:12 +0000)
committerPeter Collingbourne <peter@pcc.me.uk>
Tue, 13 Sep 2016 01:12:59 +0000 (01:12 +0000)
commit5420de3f15e01ad9dfb05b08e2600ccff10c5817
tree1f35fb90b9c4d1b953d7f3ec837625a2a0bdce23
parent8d684cae12593b494408a95774f03c812b5b37ed
DebugInfo: New metadata representation for global variables.

This patch reverses the edge from DIGlobalVariable to GlobalVariable.
This will allow us to more easily preserve debug info metadata when
manipulating global variables.

Fixes PR30362. A program for upgrading test cases is attached to that
bug.

Differential Revision: http://reviews.llvm.org/D20147

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@281284 91177308-0d34-0410-b5e6-96231b3b80d8
159 files changed:
include/llvm/IR/DIBuilder.h
include/llvm/IR/DebugInfoMetadata.h
include/llvm/IR/GlobalVariable.h
lib/AsmParser/LLParser.cpp
lib/Bitcode/Reader/BitcodeReader.cpp
lib/Bitcode/Writer/BitcodeWriter.cpp
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
lib/CodeGen/AsmPrinter/CodeViewDebug.h
lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
lib/CodeGen/AsmPrinter/DwarfDebug.cpp
lib/CodeGen/AsmPrinter/DwarfExpression.cpp
lib/CodeGen/GlobalMerge.cpp
lib/IR/AsmWriter.cpp
lib/IR/DIBuilder.cpp
lib/IR/DebugInfoMetadata.cpp
lib/IR/LLVMContextImpl.h
lib/IR/Metadata.cpp
lib/IR/Verifier.cpp
lib/Linker/IRMover.cpp
lib/Transforms/IPO/StripSymbols.cpp
test/Assembler/diglobalvariable.ll
test/Bitcode/diglobalvariable-3.8.ll [new file with mode: 0644]
test/Bitcode/diglobalvariable-3.8.ll.bc [new file with mode: 0644]
test/Bitcode/dityperefs-3.8.ll
test/CodeGen/ARM/2010-06-25-Thumb2ITInvalidIterator.ll
test/CodeGen/ARM/2011-01-19-MergedGlobalDbg.ll
test/CodeGen/ARM/2011-08-02-MergedGlobalDbg.ll
test/CodeGen/ARM/coalesce-dbgvalue.ll
test/CodeGen/NVPTX/generic-to-nvvm-ir.ll
test/CodeGen/PowerPC/pr17168.ll
test/CodeGen/PowerPC/pr24546.ll
test/CodeGen/X86/fpstack-debuginstr-kill.ll
test/CodeGen/X86/misched-code-difference-with-debug.ll
test/DebugInfo/AArch64/big-endian.ll
test/DebugInfo/AArch64/bitfields.ll
test/DebugInfo/AArch64/frameindices.ll
test/DebugInfo/ARM/big-endian-bitfield.ll
test/DebugInfo/ARM/bitfield.ll
test/DebugInfo/ARM/multiple-constant-uses-drops-dbgloc.ll
test/DebugInfo/ARM/tls.ll
test/DebugInfo/COFF/anonymous-struct.ll
test/DebugInfo/COFF/big-type.ll
test/DebugInfo/COFF/bitfields.ll
test/DebugInfo/COFF/enum.ll
test/DebugInfo/COFF/global-dllimport.ll
test/DebugInfo/COFF/globals-discarded.ll
test/DebugInfo/COFF/globals.ll
test/DebugInfo/COFF/inheritance.ll
test/DebugInfo/COFF/inlining-files.ll
test/DebugInfo/COFF/inlining-header.ll
test/DebugInfo/COFF/inlining-levels.ll
test/DebugInfo/COFF/register-variables.ll
test/DebugInfo/COFF/scopes.ll
test/DebugInfo/COFF/types-array-advanced.ll
test/DebugInfo/COFF/types-nested-class.ll
test/DebugInfo/COFF/types-ptr-to-member.ll
test/DebugInfo/COFF/udts.ll
test/DebugInfo/COFF/virtual-method-kinds.ll
test/DebugInfo/COFF/vtable-optzn-array.ll
test/DebugInfo/Generic/2009-11-06-NamelessGlobalVariable.ll
test/DebugInfo/Generic/2010-06-29-InlinedFnLocalVar.ll
test/DebugInfo/Generic/accel-table-hash-collisions.ll
test/DebugInfo/Generic/cross-cu-linkonce-distinct.ll
test/DebugInfo/Generic/cross-cu-linkonce.ll
test/DebugInfo/Generic/dbg-at-specficiation.ll
test/DebugInfo/Generic/debuginfofinder-forward-declaration.ll
test/DebugInfo/Generic/dwarf-public-names.ll
test/DebugInfo/Generic/enum.ll
test/DebugInfo/Generic/gvn.ll
test/DebugInfo/Generic/member-pointers.ll
test/DebugInfo/Generic/namespace.ll
test/DebugInfo/Generic/recursive_inlining.ll
test/DebugInfo/Generic/template-recursive-void.ll
test/DebugInfo/Generic/tu-member-pointer.ll
test/DebugInfo/Generic/typedef.ll
test/DebugInfo/MIR/X86/live-debug-values.mir
test/DebugInfo/Mips/InlinedFnLocalVar.ll
test/DebugInfo/PowerPC/tls-fission.ll
test/DebugInfo/PowerPC/tls.ll
test/DebugInfo/X86/2011-09-26-GlobalVarContext.ll
test/DebugInfo/X86/DIModuleContext.ll
test/DebugInfo/X86/DW_AT_calling-convention.ll
test/DebugInfo/X86/DW_AT_specification.ll
test/DebugInfo/X86/DW_TAG_friend.ll
test/DebugInfo/X86/InlinedFnLocalVar.ll
test/DebugInfo/X86/PR26148.ll
test/DebugInfo/X86/arange-and-stub.ll
test/DebugInfo/X86/arange.ll
test/DebugInfo/X86/bitfields-dwarf4.ll
test/DebugInfo/X86/bitfields.ll
test/DebugInfo/X86/c-type-units.ll
test/DebugInfo/X86/concrete_out_of_line.ll
test/DebugInfo/X86/cu-ranges-odr.ll
test/DebugInfo/X86/data_member_location.ll
test/DebugInfo/X86/dbg-subrange.ll
test/DebugInfo/X86/dbg-value-inlined-parameter.ll
test/DebugInfo/X86/dbg-value-regmask-clobber.ll
test/DebugInfo/X86/debug-info-access.ll
test/DebugInfo/X86/debug-info-packed-struct.ll
test/DebugInfo/X86/debug-info-static-member.ll
test/DebugInfo/X86/debug-loc-frame.ll
test/DebugInfo/X86/debugger-tune.ll
test/DebugInfo/X86/decl-derived-member.ll
test/DebugInfo/X86/dllimport.ll
test/DebugInfo/X86/dwarf-aranges-no-dwarf-labels.ll
test/DebugInfo/X86/dwarf-aranges.ll
test/DebugInfo/X86/dwarf-linkage-names.ll
test/DebugInfo/X86/dwarf-public-names.ll
test/DebugInfo/X86/empty-array.ll
test/DebugInfo/X86/enum-class.ll
test/DebugInfo/X86/enum-fwd-decl.ll
test/DebugInfo/X86/externaltyperef.ll
test/DebugInfo/X86/fission-cu.ll
test/DebugInfo/X86/generate-odr-hash.ll
test/DebugInfo/X86/gnu-public-names.ll
test/DebugInfo/X86/inline-member-function.ll
test/DebugInfo/X86/inlined-indirect-value.ll
test/DebugInfo/X86/isel-cse-line.ll
test/DebugInfo/X86/linkage-name.ll
test/DebugInfo/X86/live-debug-values.ll
test/DebugInfo/X86/memberfnptr.ll
test/DebugInfo/X86/misched-dbg-value.ll
test/DebugInfo/X86/multiple-aranges.ll
test/DebugInfo/X86/multiple-at-const-val.ll
test/DebugInfo/X86/nondefault-subrange-array.ll
test/DebugInfo/X86/objc-fwd-decl.ll
test/DebugInfo/X86/pointer-type-size.ll
test/DebugInfo/X86/pr12831.ll
test/DebugInfo/X86/ref_addr_relocation.ll
test/DebugInfo/X86/stack-value-dwarf4.ll [new file with mode: 0644]
test/DebugInfo/X86/stringpool.ll
test/DebugInfo/X86/struct-loc.ll
test/DebugInfo/X86/template.ll
test/DebugInfo/X86/tls.ll
test/DebugInfo/X86/type_units_with_addresses.ll
test/DebugInfo/X86/unattached-global.ll [new file with mode: 0644]
test/DebugInfo/X86/union-template.ll
test/DebugInfo/X86/vector.ll
test/Linker/2011-08-04-Metadata.ll
test/Linker/2011-08-04-Metadata2.ll
test/Linker/odr.ll
test/Linker/only-needed-debug-metadata.ll
test/ThinLTO/X86/Inputs/crash_debuginfo.ll
test/ThinLTO/X86/Inputs/drop-debug-info.ll
test/ThinLTO/X86/crash_debuginfo.ll
test/Transforms/GCOVProfiling/return-block.ll
test/Transforms/GlobalMerge/debug-info.ll [new file with mode: 0644]
test/Transforms/GlobalOpt/2009-03-05-dbg.ll
test/Transforms/Inline/alloca-dbgdeclare.ll
test/Transforms/LoopVectorize/dbg.value.ll
test/Transforms/SampleProfile/cov-zero-samples.ll
test/Transforms/SimplifyCFG/PR27615-simplify-cond-br.ll
test/Transforms/StripSymbols/2010-06-30-StripDebug.ll
test/Transforms/StripSymbols/strip-dead-debug-info.ll
test/tools/llvm-objdump/Hexagon/source-interleave-hexagon.ll
test/tools/llvm-objdump/X86/source-interleave-x86_64.ll
unittests/IR/MetadataTest.cpp
unittests/IR/VerifierTest.cpp