003 File Manager
Current Path:
/usr/src/contrib/llvm-project/lld/COFF
usr
/
src
/
contrib
/
llvm-project
/
lld
/
COFF
/
📁
..
📄
Chunks.cpp
(31.9 KB)
📄
Chunks.h
(22.6 KB)
📄
Config.h
(6.76 KB)
📄
DLL.cpp
(23.61 KB)
📄
DLL.h
(2.25 KB)
📄
DebugTypes.cpp
(18.17 KB)
📄
DebugTypes.h
(2.44 KB)
📄
Driver.cpp
(68.73 KB)
📄
Driver.h
(7.09 KB)
📄
DriverUtils.cpp
(29.99 KB)
📄
ICF.cpp
(10.91 KB)
📄
ICF.h
(612 B)
📄
InputFiles.cpp
(37.9 KB)
📄
InputFiles.h
(12.92 KB)
📄
LLDMapFile.cpp
(4.11 KB)
📄
LLDMapFile.h
(599 B)
📄
LTO.cpp
(7.34 KB)
📄
LTO.h
(1.54 KB)
📄
MapFile.cpp
(10.44 KB)
📄
MapFile.h
(590 B)
📄
MarkLive.cpp
(2.28 KB)
📄
MarkLive.h
(648 B)
📄
MinGW.cpp
(4.89 KB)
📄
MinGW.h
(1.03 KB)
📄
Options.td
(12.29 KB)
📄
PDB.cpp
(58.35 KB)
📄
PDB.h
(1.01 KB)
📄
README.md
(20 B)
📄
SymbolTable.cpp
(26.37 KB)
📄
SymbolTable.h
(4.98 KB)
📄
Symbols.cpp
(4.38 KB)
📄
Symbols.h
(14.85 KB)
📄
TypeMerger.h
(2.24 KB)
📄
Writer.cpp
(70.38 KB)
📄
Writer.h
(2.57 KB)
Editing: TypeMerger.h
//===- TypeMerger.h ---------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLD_COFF_TYPEMERGER_H #define LLD_COFF_TYPEMERGER_H #include "Config.h" #include "llvm/DebugInfo/CodeView/GlobalTypeTableBuilder.h" #include "llvm/DebugInfo/CodeView/MergingTypeTableBuilder.h" #include "llvm/Support/Allocator.h" namespace lld { namespace coff { class TypeMerger { public: TypeMerger(llvm::BumpPtrAllocator &alloc) : typeTable(alloc), idTable(alloc), globalTypeTable(alloc), globalIDTable(alloc) {} /// Get the type table or the global type table if /DEBUG:GHASH is enabled. inline llvm::codeview::TypeCollection &getTypeTable() { if (config->debugGHashes) return globalTypeTable; return typeTable; } /// Get the ID table or the global ID table if /DEBUG:GHASH is enabled. inline llvm::codeview::TypeCollection &getIDTable() { if (config->debugGHashes) return globalIDTable; return idTable; } /// Type records that will go into the PDB TPI stream. llvm::codeview::MergingTypeTableBuilder typeTable; /// Item records that will go into the PDB IPI stream. llvm::codeview::MergingTypeTableBuilder idTable; /// Type records that will go into the PDB TPI stream (for /DEBUG:GHASH) llvm::codeview::GlobalTypeTableBuilder globalTypeTable; /// Item records that will go into the PDB IPI stream (for /DEBUG:GHASH) llvm::codeview::GlobalTypeTableBuilder globalIDTable; // When showSummary is enabled, these are histograms of TPI and IPI records // keyed by type index. SmallVector<uint32_t, 0> tpiCounts; SmallVector<uint32_t, 0> ipiCounts; }; /// Map from type index and item index in a type server PDB to the /// corresponding index in the destination PDB. struct CVIndexMap { llvm::SmallVector<llvm::codeview::TypeIndex, 0> tpiMap; llvm::SmallVector<llvm::codeview::TypeIndex, 0> ipiMap; bool isTypeServerMap = false; bool isPrecompiledTypeMap = false; }; } // namespace coff } // namespace lld #endif
Upload File
Create Folder