llvm-6502/test/DebugInfo
Duncan P. N. Exon Smith 88e419d66e DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable
Remove 'inlinedAt:' from MDLocalVariable.  Besides saving some memory
(variables with it seem to be single largest `Metadata` contributer to
memory usage right now in -g -flto builds), this stops optimization and
backend passes from having to change local variables.

The 'inlinedAt:' field was used by the backend in two ways:

 1. To tell the backend whether and into what a variable was inlined.
 2. To create a unique id for each inlined variable.

Instead, rely on the 'inlinedAt:' field of the intrinsic's `!dbg`
attachment, and change the DWARF backend to use a typedef called
`InlinedVariable` which is `std::pair<MDLocalVariable*, MDLocation*>`.
This `DebugLoc` is already passed reliably through the backend (as
verified by r234021).

This commit removes the check from r234021, but I added a new check
(that will survive) in r235048, and changed the `DIBuilder` API in
r235041 to require a `!dbg` attachment whose 'scope:` is in the same
`MDSubprogram` as the variable's.

If this breaks your out-of-tree testcases, perhaps the script I used
(mdlocalvariable-drop-inlinedat.sh) will help; I'll attach it to PR22778
in a moment.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@235050 91177308-0d34-0410-b5e6-96231b3b80d8
2015-04-15 22:29:27 +00:00
..
AArch64 DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
ARM DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
COFF Use the existing begin and end symbol for debug info. 2015-03-05 02:05:42 +00:00
Inputs DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
Mips DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
PDB [llvm-pdbdump] Display full enum definitions. 2015-03-04 06:09:53 +00:00
PowerPC Print section start labels when first switching to the section. 2015-03-11 00:51:37 +00:00
Sparc [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
SystemZ DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
X86 DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
2009-10-16-Phi.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2009-11-03-InsertExtractValue.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
2009-11-05-DeadGlobalVariable.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2009-11-06-NamelessGlobalVariable.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
2009-11-10-CurrentFn.ll DebugInfo: Update testcases with invalid variables 2015-03-27 01:58:34 +00:00
2010-01-05-DbgScope.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-03-12-llc-crash.ll DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
2010-03-19-DbgDeclare.ll DebugInfo: Add missing !dbg attachments to intrinsics 2015-04-15 21:04:10 +00:00
2010-03-24-MemberFn.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-04-06-NestedFnDbgInfo.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-04-19-FramePtr.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-05-03-DisableFramePtr.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-05-03-OriginDIE.ll DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
2010-05-10-MultipleCU.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-06-29-InlinedFnLocalVar.ll DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
2010-07-19-Crash.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
2010-10-01-crash.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
accel-table-hash-collisions.ll DwarfAccelTable: Fix handling of hash collisions. 2015-03-10 00:46:31 +00:00
arm-relocs.test
array.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
block-asan.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
bug_null_debuginfo.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
constant-pointers.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
cross-cu-inlining.ll DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
cross-cu-linkonce-distinct.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
cross-cu-linkonce.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
cu-range-hole.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
cu-ranges.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
dead-argument-order.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
debug-info-always-inline.ll [opaque pointer type] Add textual IR support for explicit type parameter to load instruction 2015-02-27 21:17:42 +00:00
debug-info-qualifiers.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
debuginfofinder-forward-declaration.ll Fix crash in DebugInfoFinder when adding a module with forward declared composite type 2015-04-14 09:18:17 +00:00
debuginfofinder-multiple-cu.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
debuglineinfo.test
dwarf-public-names.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
dwarfdump-accel.test Reapply "[dwarfdump] Add support for dumping accelerator tables." 2014-11-14 16:15:53 +00:00
dwarfdump-debug-frame-simple.test [dwarfdump] Make debug_frame dump actually useful. 2015-02-25 21:30:22 +00:00
dwarfdump-debug-loc-simple.test
dwarfdump-dump-flags.test
dwarfdump-line-dwo.test
dwarfdump-objc.test [dwarfdump] Prettyprint DW_AT_APPLE_property_attribute bitfield values. 2014-10-10 15:51:10 +00:00
dwarfdump-pubnames.test
dwarfdump-ranges.test [dwarfdump] Dump DW_AT_ranges values inline in the debug_info dump. 2014-10-23 04:08:34 +00:00
dwarfdump-type-units.test
dwarfdump-zlib.test
empty.ll Split test in two to handle building without x86. 2015-03-10 23:44:12 +00:00
enum-types.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
enum.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
global.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
gmlt.test
incorrect-variable-debugloc1.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
incorrect-variable-debugloc.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
inheritance.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
inline-debug-info-multiret.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
inline-debug-info.ll DebugInfo: Fix bad debug info for compile units and types 2015-03-27 20:46:33 +00:00
inline-no-debug-info.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
inline-scopes.ll DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
inlined-arguments.ll DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
inlined-vars.ll DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
llvm-symbolizer-zlib.test
llvm-symbolizer.test Remove "REQUIRES:shell" from tests. They work for me. 2014-11-04 13:41:33 +00:00
location-verifier.ll Verifier: Check that !dbg attachments have the right type 2015-03-20 19:26:58 +00:00
lto-comp-dir.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
member-order.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
member-pointers.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
member-pointers.o Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
missing-abstract-variable.ll DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
missing-abstract-variable.o Revert "Revert "DI: Fold constant arguments into a single MDString"" 2014-10-03 20:01:09 +00:00
multiline.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
namespace_function_definition.ll Emit correct linkage-name attribute based on DWARF version. 2015-03-10 22:44:45 +00:00
namespace_inline_function_definition.ll DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
namespace.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
nodebug.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
piece-verifier.ll Verifier: Remove unnecessary double-checks 2015-03-16 20:24:02 +00:00
PR20038.ll DebugInfo: Remove 'inlinedAt:' field from MDLocalVariable 2015-04-15 22:29:27 +00:00
restrict.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
sugared-constants.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
template-recursive-void.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
tu-composite.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
tu-member-pointer.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
two-cus-from-same-file.ll [opaque pointer type] Add textual IR support for explicit type parameter to gep operator 2015-03-13 18:20:45 +00:00
typedef.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
unconditional-branch.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00
varargs.ll DebugInfo: Fix testcases with invalid MDSubprogram nodes 2015-03-28 02:26:45 +00:00
version.ll DebugInfo: Move new hierarchy into place 2015-03-03 17:24:31 +00:00