1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 04:02:41 +01:00
llvm-mirror/tools/llvm-readobj
Reid Kleckner 79a13a2ef0 [codeview] Add type stream merging prototype
Summary:
This code is intended to be used as part of LLD's PDB writing. Until
that exists, this is exposed via llvm-readobj for testing purposes.

Type stream merging uses the following algorithm:

- Begin with a new empty stream, and a new empty hash table that maps
  from type record contents to new type index.
- For each new type stream, maintain a map from source type index to
  destination type index.
- For each record, copy it and rewrite its type indices to be valid in
  the destination type stream.
- If the new type record is not already present in the destination
  stream hash table, append it to the destination type stream, assign it
  the next type index, and update the two hash tables.
- If the type record already exists in the destination stream, discard
  it and update the type index map to forward the source type index to
  the existing destination type index.

Reviewers: zturner, ruiu

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D20122

llvm-svn: 269521
2016-05-14 00:02:53 +00:00
..
ARMAttributeParser.cpp Move llvm-readobj/StreamWriter to Support. 2016-05-03 00:28:04 +00:00
ARMAttributeParser.h Move llvm-readobj/StreamWriter to Support. 2016-05-03 00:28:04 +00:00
ARMEHABIPrinter.h Move llvm-readobj/StreamWriter to Support. 2016-05-03 00:28:04 +00:00
ARMWinEHPrinter.cpp Thread Expected<...> up from libObject’s getType() for symbols to allow llvm-objdump to produce a good error message. 2016-05-02 20:28:12 +00:00
ARMWinEHPrinter.h Move llvm-readobj/StreamWriter to Support. 2016-05-03 00:28:04 +00:00
CMakeLists.txt [codeview] Add type stream merging prototype 2016-05-14 00:02:53 +00:00
CodeView.h Silence gcc warning about ternary and enumerations 2016-01-28 23:59:35 +00:00
COFFDumper.cpp [codeview] Add type stream merging prototype 2016-05-14 00:02:53 +00:00
COFFImportDumper.cpp llvm-readobj: Dump more info for COFF import libraries. 2015-08-28 10:27:50 +00:00
ELFDumper.cpp llvm-readobj: Fix GNU style entry point print width 2016-05-12 22:51:26 +00:00
Error.cpp MSVC requires redeclarations to repeat noexcept 2014-11-03 20:35:30 +00:00
Error.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
llvm-readobj.cpp [codeview] Add type stream merging prototype 2016-05-14 00:02:53 +00:00
llvm-readobj.h Thread Expected<...> up from libObject’s getName() for symbols to allow llvm-objdump to produce a good error message. 2016-04-20 21:24:34 +00:00
LLVMBuild.txt Don't link with the archive library programs that don't use it. 2013-06-17 15:29:46 +00:00
MachODumper.cpp Move llvm-readobj/StreamWriter to Support. 2016-05-03 00:28:04 +00:00
ObjDumper.cpp Move llvm-readobj/StreamWriter to Support. 2016-05-03 00:28:04 +00:00
ObjDumper.h [codeview] Add type stream merging prototype 2016-05-14 00:02:53 +00:00
StackMapPrinter.h [StackMaps] Add a lightweight parser for stackmap version 1 sections. 2015-06-26 23:56:53 +00:00
Win64EHDumper.cpp Thread Expected<...> up from libObject’s getType() for symbols to allow llvm-objdump to produce a good error message. 2016-05-02 20:28:12 +00:00
Win64EHDumper.h Move llvm-readobj/StreamWriter to Support. 2016-05-03 00:28:04 +00:00