[PATCH] D24316: Write the TPI stream from Yaml

Zachary Turner via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 7 14:26:52 PDT 2016


zturner created this revision.
zturner added reviewers: rnk, amccarth, ruiu.
zturner added a subscriber: llvm-commits.
zturner added a dependency: D24162: [yaml] Add the ability to pass in context at the map level.
Herald added a subscriber: beanz.

This implements writing of the TPI stream from Yaml.  This actually implements a generic TPI Stream builder / writer that is not tied to Yaml, but Yaml is just the vehicle used here to do the testing since we don't have linker support for writing PDBs yet.

Getting this to work was a little nasty due to the interactions between the normally stateless Yaml mappings and the stateful `TypeTableBuilder`.  Because of that, this depends on D24162 which adds the ability to pass some state between yaml mappings, although that patch has yet to be looked at.

https://reviews.llvm.org/D24316

Files:
  include/llvm/DebugInfo/CodeView/FieldListSerializationVisitor.h
  include/llvm/DebugInfo/CodeView/MemoryTypeTableBuilder.h
  include/llvm/DebugInfo/CodeView/TypeRecordBuilder.h
  include/llvm/DebugInfo/CodeView/TypeSerializationVisitor.h
  include/llvm/DebugInfo/CodeView/TypeTableBuilder.h
  include/llvm/DebugInfo/MSF/SequencedItemStream.h
  include/llvm/DebugInfo/MSF/StreamArray.h
  include/llvm/DebugInfo/PDB/Raw/PDBFile.h
  include/llvm/DebugInfo/PDB/Raw/PDBFileBuilder.h
  include/llvm/DebugInfo/PDB/Raw/RawTypes.h
  include/llvm/DebugInfo/PDB/Raw/TpiStream.h
  include/llvm/DebugInfo/PDB/Raw/TpiStreamBuilder.h
  lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
  lib/CodeGen/AsmPrinter/CodeViewDebug.h
  lib/DebugInfo/CodeView/CVTypeVisitor.cpp
  lib/DebugInfo/CodeView/TypeRecordBuilder.cpp
  lib/DebugInfo/CodeView/TypeTableBuilder.cpp
  lib/DebugInfo/PDB/CMakeLists.txt
  lib/DebugInfo/PDB/Raw/PDBFileBuilder.cpp
  lib/DebugInfo/PDB/Raw/TpiStream.cpp
  lib/DebugInfo/PDB/Raw/TpiStreamBuilder.cpp
  test/DebugInfo/PDB/pdbdump-readwrite.test
  test/DebugInfo/PDB/pdbdump-write.test
  tools/llvm-pdbdump/CodeViewYaml.cpp
  tools/llvm-pdbdump/CodeViewYaml.h
  tools/llvm-pdbdump/PdbYaml.cpp
  tools/llvm-pdbdump/PdbYaml.h
  tools/llvm-pdbdump/YAMLOutputStyle.cpp
  tools/llvm-pdbdump/YamlSerializationContext.h
  tools/llvm-pdbdump/llvm-pdbdump.cpp
  tools/llvm-readobj/llvm-readobj.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D24316.70600.patch
Type: text/x-patch
Size: 49444 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20160907/facf8e6e/attachment.bin>


More information about the llvm-commits mailing list