llvm-project/llvm/test/DebugInfo/Generic
Adrian Prantl 3c6c14d14b ASAN: Provide reliable debug info for local variables at -O0.
The function stack poisioner conditionally stores local variables
either in an alloca or in malloc'ated memory, which has the
unfortunate side-effect, that the actual address of the variable is
only materialized when the variable is accessed, which means that
those variables are mostly invisible to the debugger even when
compiling without optimizations.

This patch stores the address of the local stack base into an alloca,
which can be referred to by the debug info and is available throughout
the function. This adds one extra pointer-sized alloca to each stack
frame (but mem2reg can optimize it away again when optimizations are
enabled, yielding roughly the same debug info quality as before in
optimized code).

rdar://problem/30433661

Differential Revision: https://reviews.llvm.org/D41034

llvm-svn: 320415
2017-12-11 20:43:21 +00:00
..
2009-10-16-Phi.ll
2009-11-03-InsertExtractValue.ll
2009-11-05-DeadGlobalVariable.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
2009-11-06-NamelessGlobalVariable.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
2009-11-10-CurrentFn.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
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 llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
2010-04-19-FramePtr.ll
2010-05-03-DisableFramePtr.ll
2010-05-03-OriginDIE.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
2010-05-10-MultipleCU.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
2010-06-29-InlinedFnLocalVar.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +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
PR20038.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
accel-table-hash-collisions.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
array.ll Relax test so that it passes on OS X. 2017-02-02 22:08:25 +00:00
block-asan.ll ASAN: Provide reliable debug info for local variables at -O0. 2017-12-11 20:43:21 +00:00
bug_null_debuginfo.ll
constant-pointers.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
constant-sdnodes-have-dbg-location.ll
constantfp-sdnodes-have-dbg-location.ll
containing-type-extension.ll Let replaceVTableHolder accept any type. 2017-11-08 22:04:43 +00:00
cross-cu-inlining.ll Re-land "[llvm-dwarfdump] Print type names in DW_AT_type DIEs" 2017-10-10 14:15:25 +00:00
cross-cu-linkonce-distinct.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
cross-cu-linkonce.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
cu-range-hole.ll
cu-ranges.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
dbg-at-specficiation.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
dead-argument-order.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
debug-info-always-inline.ll
debug-info-qualifiers.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
debuginfofinder-forward-declaration.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +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 llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
discriminator.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
dwarf-public-names.ll Remove -generate-dwarf-pub-sections flag. 2017-09-12 21:50:55 +00:00
empty.ll Re-submit r289925 (Update .debug_line section version to match DWARF version) 2017-12-04 21:27:46 +00:00
enum-types.ll Re-land "[llvm-dwarfdump] Print type names in DW_AT_type DIEs" 2017-10-10 14:15:25 +00:00
enum.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
global-sra-array.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
global-sra-single-member.ll Don't add a fragment expression when GlobalSRA splits up a single-member struct 2017-08-31 00:06:18 +00:00
global-sra-struct.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
global.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
gmlt.test Update testcases that are XFAILed on Darwin for llvm-dwarfdump changes. 2017-09-11 23:40:44 +00:00
gmlt_profiling.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
gvn.ll Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
imported-name-inlined.ll DebugInfo: Remove unneeded attributes from test/DebugInfo/Generic/imported-name-inlined.ll 2017-09-20 15:59:57 +00:00
incorrect-variable-debugloc.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
incorrect-variable-debugloc1.ll [dwarfdump] Pretty print location expressions and location lists 2017-08-29 21:41:21 +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 llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
inlined-arguments.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
inlined-vars.ll Remove the obsolete offset parameter from @llvm.dbg.value 2017-07-28 20:21:02 +00:00
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 Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +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 llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
lit.local.cfg
location-verifier.ll [Verifier] Remove the -verify-debug-info cl::opt 2017-11-02 23:44:20 +00:00
lto-comp-dir.ll [test] Don't verify .debug_line offsets in bitcode tests. 2017-09-27 10:23:34 +00:00
mainsubprogram.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
member-order.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
member-pointers.ll Re-land "[llvm-dwarfdump] Print type names in DW_AT_type DIEs" 2017-10-10 14:15:25 +00:00
missing-abstract-variable.ll Un-XFAIL a test after the bugfix in r317702. 2017-11-08 19:18:20 +00:00
multiline.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
namespace.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
namespace_function_definition.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
namespace_inline_function_definition.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +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 Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
ptrsize.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
recursive_inlining.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
restrict.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
simplifycfg_sink_last_inst.ll [DebugInfo] Handle same locations in DILocation::getMergedLocation 2017-01-12 20:34:35 +00:00
skeletoncu.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
sroa-larger.ll SROA: Don't create variable fragments that are outside of the variable. 2017-11-28 21:30:38 +00:00
sroa-samesize.ll SROA: Avoid creating a fragment expression that covers the entire variable. 2017-11-28 00:57:53 +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 llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
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 llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
thrownTypes.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
tu-composite.ll Re-land "[llvm-dwarfdump] Print type names in DW_AT_type DIEs" 2017-10-10 14:15:25 +00:00
tu-member-pointer.ll Re-land "[llvm-dwarfdump] Print type names in DW_AT_type DIEs" 2017-10-10 14:15:25 +00:00
two-cus-from-same-file.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
typedef.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
unconditional-branch.ll [dwarfdump] Add verbose output for .debug-line section 2017-09-21 20:15:30 +00:00
varargs.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
version.ll
virtual-index.ll llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00