llvm/tools
Reid Kleckner fed38e2afb [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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@269521 91177308-0d34-0410-b5e6-96231b3b80d8
2016-05-14 00:02:53 +00:00
..
bugpoint [GlobalDCE, Misc] Don't remove functions referenced by ifuncs 2016-05-04 00:20:48 +00:00
bugpoint-passes Remove autoconf support 2016-01-26 21:29:08 +00:00
dsymutil dsymutil: Fix the DWOId mismatch check for cached modules. 2016-05-13 00:17:58 +00:00
gold [ThinLTO] Use correct pipeline for ThinLTO in gold-plugin. 2016-05-13 01:25:31 +00:00
llc Revert "[llc] New diagnostic handler" 2016-05-13 16:02:44 +00:00
lli [Orc] Fix missing rename from r268845. 2016-05-07 03:48:56 +00:00
llvm-ar Fix bug where temporary file would be left behind every time an archive was updated. 2016-05-09 13:31:11 +00:00
llvm-as Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-as-fuzzer Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-bcanalyzer [ThinLTO] Use valueid instead of bitcode offsets in combined index file 2016-04-27 13:28:35 +00:00
llvm-c-test [llvm-c] Expose LLVMContextGetDiagnostic{Handler,Context} 2016-04-08 09:19:02 +00:00
llvm-config llvm-config: fix --libs on Linux 2016-03-14 21:39:58 +00:00
llvm-cov Retry "[ProfileData] (llvm) Use Error in InstrProf and Coverage, NFC" 2016-05-13 21:50:56 +00:00
llvm-cxxdump 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
llvm-diff [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
llvm-dis Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-dwarfdump [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
llvm-dwp llvm-dwp: Use llvm::Error to improve diagnostic quality/error handling in llvm-dwp 2016-05-12 19:59:54 +00:00
llvm-extract Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-go Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-jitlistener Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-link ThinLTO/ModuleLinker: add a flag to not always pull-in linkonce when performing importing 2016-04-21 01:59:39 +00:00
llvm-lto [ThinLTO] Add option to emit imports files for distributed backends 2016-05-10 15:54:09 +00:00
llvm-mc MC: Don't access the filesystem in MCContext's constructor 2016-03-22 22:24:29 +00:00
llvm-mc-fuzzer [llvm-mc-fuzzer] Use LLVMFuzzerInitialize() instead of a custom main() and FuzzerDriver() 2016-05-13 10:23:04 +00:00
llvm-mcmarkup Remove autoconf support 2016-01-26 21:29:08 +00:00
llvm-nm 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
llvm-objdump Clean up the specific error message for a malformed Mach-O files with bad segment 2016-05-05 17:43:35 +00:00
llvm-pdbdump pdbdump: Print "Publics" stream. 2016-05-13 21:21:53 +00:00
llvm-profdata Retry "[ProfileData] (llvm) Use Error in InstrProf and Coverage, NFC" 2016-05-13 21:50:56 +00:00
llvm-readobj [codeview] Add type stream merging prototype 2016-05-14 00:02:53 +00:00
llvm-rtdyld 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
llvm-shlib [CMake] If set we should pass LLVM_VERSION_INFO into config.h 2016-04-25 23:02:47 +00:00
llvm-size Fix llvm-size to exit with non zero when it can’t open a file. 2016-05-02 21:41:03 +00:00
llvm-split Remove every uses of getGlobalContext() in LLVM (but the C API) 2016-04-14 21:59:01 +00:00
llvm-stress [NFC] Header cleanup 2016-04-18 09:17:29 +00:00
llvm-symbolizer Remove autoconf support 2016-01-26 21:29:08 +00:00
lto LTO: Use a common LibLTOCodeGenerator::init, NFC 2016-04-16 22:25:36 +00:00
msbuild MSBuild integration: fix the loop in install.bat 2014-09-30 22:30:06 +00:00
obj2yaml [obj2yaml] [yaml2obj] Basic support for MachO::load_command 2016-05-13 17:41:41 +00:00
opt Add TargetMachine::addEarlyAsPossiblePasses, and call it from opt. 2016-04-27 19:08:24 +00:00
sancov [sancov] using normalized filenames for blacklist checks. 2016-04-21 23:38:45 +00:00
sanstats Revert "Fix Clang-tidy modernize-deprecated-headers warnings in remaining files; other minor fixes." 2016-04-05 20:45:04 +00:00
verify-uselistorder [GlobalDCE, Misc] Don't remove functions referenced by ifuncs 2016-05-04 00:20:48 +00:00
xcode-toolchain [CMake] [Xcode] Improving Xcode toolchain generation to support distribution targets 2016-04-29 22:19:35 +00:00
yaml2obj [obj2yaml] [yaml2obj] Basic support for MachO::load_command 2016-05-13 17:41:41 +00:00
CMakeLists.txt Remove leftover 2016-04-29 15:08:05 +00:00
LLVMBuild.txt llvm-dwp: Initial layout 2015-12-01 00:48:34 +00:00