llvm-project/llvm/test/DebugInfo
Reid Kleckner 9cdd4df81a [codeview] Implement FPO data assembler directives
Summary:
This adds a set of new directives that describe 32-bit x86 prologues.
The directives are limited and do not expose the full complexity of
codeview FPO data. They are merely a convenience for the compiler to
generate more readable assembly so we don't need to generate tons of
labels in CodeGen. If our prologue emission changes in the future, we
can change the set of available directives to suit our needs. These are
modelled after the .seh_ directives, which use a different format that
interacts with exception handling.

The directives are:
  .cv_fpo_proc _foo
  .cv_fpo_pushreg ebp/ebx/etc
  .cv_fpo_setframe ebp/esi/etc
  .cv_fpo_stackalloc 200
  .cv_fpo_endprologue
  .cv_fpo_endproc
  .cv_fpo_data _foo

I tried to follow the implementation of ARM EHABI CFI directives by
sinking most directives out of MCStreamer and into X86TargetStreamer.
This helps avoid polluting non-X86 code with WinCOFF specific logic.

I used cdb to confirm that this can show locals in parent CSRs in a few
cases, most importantly the one where we use ESI as a frame pointer,
i.e. the one in http://crbug.com/756153#c28

Once we have cdb integration in debuginfo-tests, we can add integration
tests there.

Reviewers: majnemer, hans

Subscribers: aemerson, mgorny, kristof.beyls, llvm-commits, hiraditya

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

llvm-svn: 315513
2017-10-11 21:24:33 +00:00
..
AArch64 llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
AMDGPU Re-land "[llvm-dwarfdump] Print type names in DW_AT_type DIEs" 2017-10-10 14:15:25 +00:00
ARM llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
COFF [codeview] Implement FPO data assembler directives 2017-10-11 21:24:33 +00:00
Generic Re-land "[llvm-dwarfdump] Print type names in DW_AT_type DIEs" 2017-10-10 14:15:25 +00:00
Inputs Update testcase that was XFAILed on Darwin for llvm-dwarfdump change. 2017-09-13 22:30:43 +00:00
Lanai
MIR [DebugInfo] Do not extend range for physreg in LiveDebugVariables 2017-09-28 13:10:06 +00:00
MSP430 Parse and print DIExpressions inline to ease IR and MIR testing 2017-08-23 20:31:27 +00:00
Mips [dwarfdump] Add verbose output for .debug-line section 2017-09-21 20:15:30 +00:00
PDB [llvm-pdbutil] Print detailed S_UDT stats. 2017-08-31 20:43:22 +00:00
PowerPC Canonicalize the representation of empty an expression in DIGlobalVariableExpression 2017-08-30 18:06:51 +00:00
Sparc llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
SystemZ llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
WebAssembly [WebAssembly] Update debug info test after r312144 2017-08-30 19:54:08 +00:00
X86 Re-land "[llvm-dwarfdump] Print type names in DW_AT_type DIEs" 2017-10-10 14:15:25 +00:00
arm-relocs.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
debuglineinfo-macho.test
debuglineinfo.test
debugmacinfo.test llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
dwarfdump-64-bit-dwarf.test llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
dwarfdump-accel.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
dwarfdump-debug-frame-simple.test [dwarfdump] Make .eh_frame an alias for .debug_frame 2017-09-18 14:15:57 +00:00
dwarfdump-decompression-corrupt.test [Object] Verify object sizes before handing out StringRefs pointing out 2017-08-31 12:27:10 +00:00
dwarfdump-decompression-error.test [llvm-dwarfdump] - Print an error message if section decompression failed. 2017-05-05 10:52:39 +00:00
dwarfdump-dump-flags.test llvm-dwarfdump: automatically dump both regular and .dwo variant of sections 2017-09-13 22:09:01 +00:00
dwarfdump-dump-gdbindex.test llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
dwarfdump-dwp.test llvm-dwarfdump: automatically dump both regular and .dwo variant of sections 2017-09-13 22:09:01 +00:00
dwarfdump-header.test [dwarfdump] Verify that unit type matches root DIE 2017-10-06 22:27:31 +00:00
dwarfdump-implicit-const.test llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
dwarfdump-invalid.test
dwarfdump-line-dwo.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
dwarfdump-macho-relocs.test llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
dwarfdump-macho-universal.test Adapt more testcases for llvm-dwarfdump changes. 2017-09-14 17:27:03 +00:00
dwarfdump-objc.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
dwarfdump-pubnames.test llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
dwarfdump-ranges.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
dwarfdump-str-offsets-dwp.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
dwarfdump-str-offsets-invalid.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
dwarfdump-str-offsets.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
dwarfdump-type-units.test Re-land "[llvm-dwarfdump] Print type names in DW_AT_type DIEs" 2017-10-10 14:15:25 +00:00
dwarfdump-zlib.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
dwo.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
invalid-relocations.test [DWARF] - Add testcase for checking message about broken relocations. 2017-07-11 12:29:07 +00:00
llvm-symbolizer-split-dwarf-empty.test [llvm] Get rid of "%T" expansions 2017-08-15 20:29:24 +00:00
llvm-symbolizer-zlib.test Recommit r270547 ([llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.) 2016-05-24 12:48:46 +00:00
llvm-symbolizer.test Migrate llvm-symbolizer tests to not use %T 2017-09-08 21:10:01 +00:00
macro_link.ll [Debug Info] Added a LIT test that covers the fix committed in rL277290. 2016-08-11 07:22:53 +00:00
member-pointers.o
missing-abstract-variable.o
omit-empty.ll DebugInfo: Consider a CU containing only local imported entities to be 'empty' 2017-07-28 03:06:25 +00:00
pr34186.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
pr34672.ll Move the stripping of invalid debug info from the Verifier to AutoUpgrade. 2017-10-02 18:31:29 +00:00
skeletoncu.ll llvm-dwarfdump: Replace -debug-dump=sect option with individual options. 2017-09-11 22:59:45 +00:00
strip-DIGlobalVariable.ll Teach llvm::StripDebugInfo() about global variable !dbg attachments. 2016-10-10 17:53:33 +00:00
strip-loop-metadata.ll Improve DebugInfo/strip-loop-metadata.ll test 2017-03-31 17:51:12 +00:00
typeunit-header.test llvm-dwarfdump: Make -brief the default and add a -verbose option instead. 2017-09-11 23:05:20 +00:00
unrolled-loop-remainder.ll [LoopUnroll][DebugInfo] Don't add metadata to unrolled remainder loop 2017-09-04 08:12:16 +00:00