llvm-project/llvm/lib
Reid Kleckner c50349d4c6 [PDB] Finish and simplify TPI hashing
Summary:
This removes the CVTypeVisitor updater and verifier classes. They were
made dead by the minimal type dumping refactoring. Replace them with a
single function that takes a type record and produces a hash. Call this
from the minimal type dumper and compare the hash.

I also noticed that the microsoft-pdb reference repository uses a basic
CRC32 for records that aren't special. We already have an implementation
of that CRC ready to use, because it's used in COFF for ICF.

I'll make LLD call this hashing utility in a follow-up change. We might
also consider using this same hash in type stream merging, so that we
don't have to hash our records twice.

Reviewers: inglorion, ruiu

Subscribers: llvm-commits, hiraditya

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

llvm-svn: 308240
2017-07-18 00:33:45 +00:00
..
Analysis Analysis/MemorySSA.cpp: Prune unused "llvm/Transforms/Scalar.h". 2017-07-17 04:31:26 +00:00
AsmParser [AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as well 2017-07-17 20:05:19 +00:00
BinaryFormat Revert "Revert "Revert "Revert "Switch external cvtres.exe for llvm's own resource library."""" 2017-07-08 03:06:10 +00:00
Bitcode Enhance synchscope representation 2017-07-11 22:23:00 +00:00
CodeGen [DAGCombiner] Recognise vector rotations with non-splat constants 2017-07-16 23:11:45 +00:00
DebugInfo [PDB] Finish and simplify TPI hashing 2017-07-18 00:33:45 +00:00
Demangle [ItaniumDemangle] Fix a exponential string copying bug 2017-05-28 23:24:52 +00:00
ExecutionEngine [ORC] Errorize the ORC APIs. 2017-07-07 02:59:13 +00:00
Fuzzer Revert "[libFuzzer] Add a dependency on symbolizer from libFuzzer tests" 2017-07-17 18:18:03 +00:00
IR [AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as well 2017-07-17 20:05:19 +00:00
IRReader
LTO Use DenseMap instead std::map for GVSummaryMapTy. 2017-07-10 20:12:54 +00:00
LineEditor
Linker [Linker] Add directives to support mixing ARM/Thumb module-level inline asm. 2017-07-12 11:52:28 +00:00
MC Simplify interface now that we don't need to pass IsPCRel. NFC. 2017-07-11 23:56:10 +00:00
Object [WebAssembly] Expose the offset of each data segment 2017-07-12 00:24:54 +00:00
ObjectYAML [codeview] Fix YAML for LF_TYPESERVER2 by hoisting PDB_UniqueId 2017-07-17 23:59:44 +00:00
Option [Bash-autocompletion] Auto complete cc1 options if -cc1 is specified 2017-07-08 17:48:59 +00:00
Passes [PM] Enable registration of out-of-tree passes with PassBuilder 2017-07-10 10:57:55 +00:00
ProfileData llvm-profdata: Reduce memory usage by using Error callback rather than member 2017-07-10 03:04:59 +00:00
Support [SystemZ] Add support for IBM z14 processor (1/3) 2017-07-17 17:41:11 +00:00
TableGen [BinaryFormat, Option, TableGen] Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes (NFC). 2017-06-16 00:43:26 +00:00
Target AMDGPU: Annotate features from x work item/group IDs. 2017-07-17 22:35:50 +00:00
Testing Mark LLVMTestingSupport as not installed in LLVMBuild. 2017-06-19 22:01:50 +00:00
ToolDrivers [GSoC] Flag value completion for clang 2017-06-20 16:31:31 +00:00
Transforms [AArch64] Extend CallingConv::X86_64_Win64 to AArch64 as well 2017-07-17 20:05:19 +00:00
XRay Sort the remaining #include lines in include/... and lib/.... 2017-06-06 11:49:48 +00:00
CMakeLists.txt [gtest] Create a shared include directory for gtest utilities. 2017-06-14 16:41:50 +00:00
LLVMBuild.txt [gtest] Create a shared include directory for gtest utilities. 2017-06-14 16:41:50 +00:00