1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-26 14:33:02 +02:00
llvm-mirror/test/DebugInfo
Reid Kleckner d912b5cc99 [codeview] Defer emission of all referenced complete records
This is the motivating example:
  struct B { int b; };
  struct A { B *b; };
  int f(A *p) { return p->b->b; }

Clang emits complete types for both A and B because they are required to
be complete, but our CodeView emission would only emit forward
declarations of A and B. This was a consequence of the fact that the A*
type must reference the forward declaration of A, which doesn't
reference B at all.

We can't eagerly emit complete definitions of A and B when we request
the forward declaration's type index because of recursive types like
linked lists. If we did that, our stack usage could get out of hand, and
it would be possible to lower a type while attempting to lower a type,
and we would need to double check if our type is already present in the
TypeIndexMap after all recursive getTypeIndex calls.

Instead, defer complete type emission until after all type lowering has
completed. This ensures that all referenced complete types are emitted,
and that type lowering is not re-entrant.

llvm-svn: 273443
2016-06-22 17:15:28 +00:00
..
AArch64 AArch64: allow MOV (imm) alias to be printed 2016-06-16 01:42:25 +00:00
ARM Debug Info: Don't emit bitfields in the DWARF4 format when tuning for GDB. 2016-05-17 20:12:08 +00:00
COFF [codeview] Defer emission of all referenced complete records 2016-06-22 17:15:28 +00:00
Generic Testcase cleanup: Remove a redundant test input. 2016-06-04 00:10:17 +00:00
Inputs Testcase cleanup: remove an unused RUN line in an input file. 2016-06-02 23:58:52 +00:00
Lanai [lanai] Add Lanai backend. 2016-03-28 13:09:54 +00:00
Mips [mips][ias] Only round section sizes when explicitly requested. 2016-05-04 13:21:06 +00:00
MIR PR26055: Speed up LiveDebugValues by replacing lists with bitvectors. 2016-05-25 22:21:12 +00:00
PDB [codeview] Add support for splitting field list records over 64KB 2016-06-21 18:33:01 +00:00
PowerPC [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
Sparc [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
SystemZ [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
X86 Revert "Preserve DebugInfo when replacing values in DAGCombiner" 2016-06-15 16:08:50 +00:00
arm-relocs.test
debuglineinfo-macho.test
debuglineinfo.test
debugmacinfo.test Fix several accidental DOS line endings in source files 2016-01-03 17:22:03 +00:00
dwarfdump-64-bit-dwarf.test
dwarfdump-accel.test
dwarfdump-debug-frame-simple.test
dwarfdump-debug-loc-simple.test
dwarfdump-dump-flags.test
dwarfdump-dwp.test
dwarfdump-invalid.test
dwarfdump-line-dwo.test
dwarfdump-macho-relocs.test
dwarfdump-macho-universal.test
dwarfdump-objc.test
dwarfdump-pubnames.test
dwarfdump-ranges.test
dwarfdump-type-units.test
dwarfdump-zlib.test Recommit r270547 ([llvm-dwarfdump] - Teach dwarfdump to decompress debug sections in zlib style.) 2016-05-24 12:48:46 +00:00
dwo.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
llvm-symbolizer-split-dwarf-empty.test Use %T instead of cd'ing to Output directly. 2016-04-23 11:01:36 +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 llvm-symbolizer: prefer .dwo contents over fission-gmlt-like-data when .dwo file is present 2016-04-22 21:32:59 +00:00
member-pointers.o
missing-abstract-variable.o
skeletoncu.ll [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00