llvm-project/llvm/test/DebugInfo
Adrian Prantl 092d9489ed Debug Info: Move the complex expression handling (=the remainder) of
emitDebugLocValue() into DwarfExpression.

Ought to be NFC, but it actually uncovered a bug in the debug-loc-asan.ll
testcase. The testcase checks that the address of variable "y" is stored
at [RSP+16], which also lines up with the comment.
It also check(ed) that the *value* of "y" is stored in RDI before that,
but that is actually incorrect, since RDI is the very value that is
stored in [RSP+16]. Here's the assembler output:

	movb	2147450880(%rcx), %r8b
	#DEBUG_VALUE: bar:y <- RDI
	cmpb	$0, %r8b
	movq	%rax, 32(%rsp)          # 8-byte Spill
	movq	%rsi, 24(%rsp)          # 8-byte Spill
	movq	%rdi, 16(%rsp)          # 8-byte Spill
.Ltmp3:
	#DEBUG_VALUE: bar:y <- [RSP+16]

Fixed the comment to spell out the correct register and the check to
expect an address rather than a value.

Note that the range that is emitted for the RDI location was and is still
wrong, it claims to begin at the function prologue, but really it should
start where RDI is first assigned.

llvm-svn: 225851
2015-01-13 23:39:11 +00:00
..
AArch64 ARM/AArch64: Attach the FrameSetup MIFlag to CFI instructions. 2014-12-16 00:20:49 +00:00
ARM Thumb1 frame lowering: Mark CFI instructions with the FrameSetup flag. 2014-12-22 23:09:14 +00:00
COFF Band-aid fix for PR22032: don't emit DWARF debug info if AddressSanitizer is enabled on Windows 2014-12-26 17:00:51 +00:00
Inputs IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
Mips IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
PowerPC IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
Sparc IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
SystemZ IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
X86 Debug Info: Move the complex expression handling (=the remainder) of 2015-01-13 23:39:11 +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 IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2009-11-05-DeadGlobalVariable.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2009-11-06-NamelessGlobalVariable.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2009-11-10-CurrentFn.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-01-05-DbgScope.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-03-12-llc-crash.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-03-19-DbgDeclare.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-03-24-MemberFn.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-03-30-InvalidDbgInfoCrash.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-04-06-NestedFnDbgInfo.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-04-19-FramePtr.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-05-03-DisableFramePtr.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-05-03-OriginDIE.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-05-10-MultipleCU.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-06-29-InlinedFnLocalVar.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-07-19-Crash.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
2010-10-01-crash.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
PR20038.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
arm-relocs.test Add support for the R_ARM_ABS32 relocation. 2014-04-03 02:27:00 +00:00
array.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
block-asan.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
bug_null_debuginfo.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
constant-pointers.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
cross-cu-inlining.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
cross-cu-linkonce-distinct.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
cross-cu-linkonce.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
cu-range-hole.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
cu-ranges.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
dead-argument-order.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
debug-info-always-inline.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
debug-info-qualifiers.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
debuginfofinder-multiple-cu.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
debuglineinfo.test Add DIContext::getLineInfoForAddressRange() function and test. This function allows a caller to obtain a table of line information for a function using the function's address and size. 2013-01-26 00:28:05 +00:00
duplicate_inline.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
dwarf-public-names.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +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 Previously, parsing capability of the .debug_frame section was added 2013-02-21 22:53:19 +00:00
dwarfdump-debug-loc-simple.test Spell correct (s/begining/beginning/) 2013-06-19 21:42:05 +00:00
dwarfdump-dump-flags.test
dwarfdump-line-dwo.test llvm-dwarfdump: Support for debug_line.dwo section for file names for type units under fission. 2014-02-24 23:58:54 +00:00
dwarfdump-objc.test [dwarfdump] Prettyprint DW_AT_APPLE_property_attribute bitfield values. 2014-10-10 15:51:10 +00:00
dwarfdump-pubnames.test DebugInfo: Make pubnames header printing similar to unit header printing 2013-11-01 17:53:30 +00:00
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 llvm-dwarfdump: support for emitting only the debug_types section using -debug-dump 2013-11-19 00:29:42 +00:00
dwarfdump-zlib.test Kill symbolization functionality in llvm-dwarfdump. We have llvm-symbolizer for that. 2014-05-19 18:45:32 +00:00
empty.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
enum-types.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
enum.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
global.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
gmlt.test test: XFAIL the non-darwin gmlt test on darwin 2014-10-01 05:45:45 +00:00
incorrect-variable-debugloc.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
incorrect-variable-debugloc1.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
inheritance.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
inline-debug-info-multiret.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
inline-debug-info.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
inline-no-debug-info.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
inline-scopes.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
inlined-arguments.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
inlined-vars.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
llvm-symbolizer-zlib.test Kill symbolization functionality in llvm-dwarfdump. We have llvm-symbolizer for that. 2014-05-19 18:45:32 +00:00
llvm-symbolizer.test Remove "REQUIRES:shell" from tests. They work for me. 2014-11-04 13:41:33 +00:00
lto-comp-dir.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
member-order.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
member-pointers.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +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 IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +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 Update multiline.ll testcase to handle (ppc64le) .localentry directive 2015-01-13 18:17:08 +00:00
namespace.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
namespace_function_definition.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
namespace_inline_function_definition.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
nodebug.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
restrict.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
sugared-constants.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
template-recursive-void.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
tu-composite.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
tu-member-pointer.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
two-cus-from-same-file.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
typedef.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
unconditional-branch.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
varargs.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00
version.ll IR: Make metadata typeless in assembly 2014-12-15 19:07:53 +00:00