1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
llvm-mirror/test/DebugInfo/Generic
David Blaikie 8572946bd5 DebugInfo: Do not emit empty CUs
Consistent with GCC and addresses a shortcoming with ThinLTO where many
imported CUs may end up being empty (because the functions imported from
them either ended up not being used (and were then discarded, since
they're imported as available_externally) or optimized away entirely).

Test cases previously testing empty CUs (either intentionally, or
because they didn't need anything more complicated) had a trivial 'int'
or similar basic type added to their retained types list.

This is a first order approximation - a deeper implementation could do
things like:

1) Be more lazy about construction of the CU - for example if two CUs
containing a single identical retained type are linked together, with
this change one of the two CUs will be produced but empty (since a
duplicate type won't be produced).

2) Go further and invert all the CU links the same way the subprogram
link is inverted - keep named CU lists of retained types, macros, etc,
and have those link back to the CU. Then if they're emitted, the CU is
emitted, but never otherwise - this would allow the metadata itself to
be dropped earlier too, though it seems unlikely that's an important
optimization as there shouldn't be many CUs relative to the number of
other entities.

llvm-svn: 304020
2017-05-26 18:52:56 +00:00
..
2009-10-16-Phi.ll
2009-11-03-InsertExtractValue.ll
2009-11-05-DeadGlobalVariable.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
2009-11-06-NamelessGlobalVariable.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
2009-11-10-CurrentFn.ll
2010-01-05-DbgScope.ll Verifier: Disallow a line number without a file in DISubprogram 2017-02-17 23:57:42 +00:00
2010-03-12-llc-crash.ll
2010-03-19-DbgDeclare.ll
2010-03-24-MemberFn.ll
2010-04-06-NestedFnDbgInfo.ll
2010-04-19-FramePtr.ll
2010-05-03-DisableFramePtr.ll
2010-05-03-OriginDIE.ll
2010-05-10-MultipleCU.ll
2010-06-29-InlinedFnLocalVar.ll Relax test so that it passes on OS X. 2017-02-02 22:08:25 +00:00
2010-10-01-crash.ll DebugInfo: Emit ranges for functions with DISubprograms but lacking locations on any instructions 2016-12-15 23:17:52 +00:00
accel-table-hash-collisions.ll Revert r301487: Replace HashString algorithm with xxHash64 2017-04-26 23:15:10 +00:00
array.ll Relax test so that it passes on OS X. 2017-02-02 22:08:25 +00:00
block-asan.ll PR32382: Fix emitting complex DWARF expressions. 2017-04-18 01:21:53 +00:00
bug_null_debuginfo.ll
constant-pointers.ll
constant-sdnodes-have-dbg-location.ll
constantfp-sdnodes-have-dbg-location.ll
cross-cu-inlining.ll
cross-cu-linkonce-distinct.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
cross-cu-linkonce.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
cu-range-hole.ll
cu-ranges.ll
dbg-at-specficiation.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
dead-argument-order.ll
debug-info-always-inline.ll
debug-info-qualifiers.ll
debuginfofinder-forward-declaration.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
debuginfofinder-inlined-cu.ll [StripDeadDebug/DIFinder] Track inlined SPs 2017-04-11 13:32:11 +00:00
debuginfofinder-multiple-cu.ll
def-line.ll
discriminator.ll
dwarf-public-names.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
empty.ll DebugInfo: Do not emit empty CUs 2017-05-26 18:52:56 +00:00
enum-types.ll
enum.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
global.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
gmlt_profiling.ll Remove XFAIL for test/DebugInfo/Generic/gmlt_profiling.ll 2017-02-01 23:28:55 +00:00
gmlt.test Refactor the gmlt tests. (NFC) 2017-02-02 01:21:13 +00:00
gvn.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
incorrect-variable-debugloc1.ll
incorrect-variable-debugloc.ll [TBAAVerifier] Be stricter around verifying scalar nodes 2016-12-29 15:47:05 +00:00
indvar-discriminator.ll [IndVarSimplify][DebugLoc] When widening the exit loop condition, correctly reuse the debug location of the original comparison. 2016-10-26 10:28:32 +00:00
inheritance.ll
inline-debug-info-multiret.ll
inline-debug-info.ll
inline-debug-loc.ll [InlineFunction] Do not propagate the callsite debug location to instructions inlined from functions with debug info. 2016-12-07 10:37:26 +00:00
inline-no-debug-info.ll
inline-scopes.ll
inlined-arguments.ll
inlined-vars.ll
instcombine-phi.ll [InstCombine] Folding of a compare with RHS const should merge debug locations 2016-12-14 20:27:22 +00:00
invalid.ll [IR/Verifier] Don't visit DISubprograms more than needed. 2017-02-18 03:02:44 +00:00
licm-hoist-debug-loc.ll [DWARF] Null out the debug locs of (loop invariant) instructions hoisted by LICM in 2017-01-06 18:38:57 +00:00
linkage-name-abstract.ll [DWARF] Put linkage-name on abstract origin even when there's a declaration. 2016-12-02 01:55:17 +00:00
lit.local.cfg
location-verifier.ll
lto-comp-dir.ll
mainsubprogram.ll [DebugInfo] Add support for DW_AT_main_subprogram on subprograms 2016-11-28 21:32:19 +00:00
member-order.ll
member-pointers.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
missing-abstract-variable.ll
multiline.ll
namespace_function_definition.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
namespace_inline_function_definition.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
namespace.ll Remove line and file from DINamespace. 2017-04-28 22:25:46 +00:00
nodebug.ll DebugInfo: Do not emit empty CUs 2017-05-26 18:52:56 +00:00
noscopes.ll DebugInfo: Make a Generic test case actually generic (remove datalayout/triple) 2016-12-15 23:39:25 +00:00
piece-verifier.ll [DIExpression] Introduce a dedicated DW_OP_LLVM_fragment operation 2016-12-05 18:04:47 +00:00
PR20038.ll
ptrsize.ll
recursive_inlining.ll [TBAAVerifier] Be stricter around verifying scalar nodes 2016-12-29 15:47:05 +00:00
restrict.ll
simplifycfg_sink_last_inst.ll [DebugInfo] Handle same locations in DILocation::getMergedLocation 2017-01-12 20:34:35 +00:00
skeletoncu.ll DebugInfo: Do not emit empty CUs 2017-05-26 18:52:56 +00:00
store-tail-merge.ll Merge DebugLoc on combined stores; in this case, when combining stores 2017-02-06 22:19:04 +00:00
sugared-constants.ll
sunk-compare.ll Preserve the debug location when CodeGenPrepare sinks a compare instruction into the 2016-10-06 21:43:45 +00:00
template-recursive-void.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
thrownTypes.ll Add support for DW_TAG_thrown_type. 2017-04-26 22:56:44 +00:00
tu-composite.ll
tu-member-pointer.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
two-cus-from-same-file.ll
typedef.ll Renumber testcase metadata nodes after r290153. 2016-12-22 00:45:21 +00:00
unconditional-branch.ll
varargs.ll
version.ll
virtual-index.ll