OSDN Git Service

[CodeView] Add TypeDatabase class.
authorZachary Turner <zturner@google.com>
Wed, 11 Jan 2017 00:35:08 +0000 (00:35 +0000)
committerZachary Turner <zturner@google.com>
Wed, 11 Jan 2017 00:35:08 +0000 (00:35 +0000)
commite85dd39ac9644593cd79511632f24ce381bd9405
tree0e60a452ebbe698397a95796b0c464dbae48dbfd
parent70b1ff1543997c1b9efd4e84c33a3d71610abe24
[CodeView] Add TypeDatabase class.

This creates a centralized class in which to store type records.
It stores types as an array of entries, which matches the
notion of a type stream being a topologically sorted DAG.
Logic to build up such a database was already being used in
CVTypeDumper, so CVTypeDumper is now updated to to read from
a TypeDatabase which is filled out by an earlier visitor in
the pipeline.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291626 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/DebugInfo/CodeView/TypeDatabase.h [new file with mode: 0644]
include/llvm/DebugInfo/CodeView/TypeDatabaseVisitor.h [new file with mode: 0644]
include/llvm/DebugInfo/CodeView/TypeDumper.h
include/llvm/DebugInfo/MSF/StreamArray.h
lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
lib/DebugInfo/CodeView/CMakeLists.txt
lib/DebugInfo/CodeView/TypeDatabase.cpp [new file with mode: 0644]
lib/DebugInfo/CodeView/TypeDatabaseVisitor.cpp [new file with mode: 0644]
lib/DebugInfo/CodeView/TypeDumper.cpp