[PATCH] D33009: [CodeView] Add an amortized O(1) random access type visitor

Zachary Turner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 10 15:13:07 PDT 2017


zturner updated this revision to Diff 98541.
zturner added a comment.

Completely deleted `RandomAccessTypeDatabase`.  It made it really awkward not having the random and sequential databases being able to interoperate with each other.  For example, you might run `llvm-pdbdump` with the option to dump everything, and include another option which will trigger a type lookup.  But since they used different databases, the two operations couldn't be made to work together.  The only real difference between the two was that one used a `BitVector` and the other didn't, so it wasn't too much work to combine them into a single `TypeDatabase` that supports both appending and random access.


https://reviews.llvm.org/D33009

Files:
  llvm/include/llvm/DebugInfo/CodeView/RandomAccessTypeVisitor.h
  llvm/include/llvm/DebugInfo/CodeView/TypeDatabase.h
  llvm/include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h
  llvm/include/llvm/DebugInfo/CodeView/TypeDeserializer.h
  llvm/include/llvm/DebugInfo/CodeView/TypeDumpVisitor.h
  llvm/include/llvm/DebugInfo/CodeView/TypeIndex.h
  llvm/include/llvm/DebugInfo/PDB/Native/RawTypes.h
  llvm/include/llvm/DebugInfo/PDB/Native/TpiStream.h
  llvm/include/llvm/DebugInfo/PDB/Native/TpiStreamBuilder.h
  llvm/include/llvm/Support/BinaryStreamArray.h
  llvm/lib/DebugInfo/CodeView/CMakeLists.txt
  llvm/lib/DebugInfo/CodeView/CVTypeVisitor.cpp
  llvm/lib/DebugInfo/CodeView/RandomAccessTypeVisitor.cpp
  llvm/lib/DebugInfo/CodeView/TypeDatabase.cpp
  llvm/lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp
  llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
  llvm/lib/DebugInfo/PDB/Native/TpiStreamBuilder.cpp
  llvm/tools/llvm-pdbdump/LLVMOutputStyle.cpp
  llvm/unittests/DebugInfo/CMakeLists.txt
  llvm/unittests/DebugInfo/CodeView/CMakeLists.txt
  llvm/unittests/DebugInfo/CodeView/ErrorChecking.h
  llvm/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D33009.98541.patch
Type: text/x-patch
Size: 46220 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170510/cd84ee19/attachment.bin>


More information about the llvm-commits mailing list