LLVM  10.0.0svn
Classes | Functions
GSIStreamBuilder.cpp File Reference
#include "llvm/DebugInfo/PDB/Native/GSIStreamBuilder.h"
#include "llvm/ADT/DenseSet.h"
#include "llvm/DebugInfo/CodeView/RecordName.h"
#include "llvm/DebugInfo/CodeView/SymbolDeserializer.h"
#include "llvm/DebugInfo/CodeView/SymbolRecord.h"
#include "llvm/DebugInfo/CodeView/SymbolSerializer.h"
#include "llvm/DebugInfo/MSF/MSFBuilder.h"
#include "llvm/DebugInfo/MSF/MSFCommon.h"
#include "llvm/DebugInfo/MSF/MappedBlockStream.h"
#include "llvm/DebugInfo/PDB/Native/GlobalsStream.h"
#include "llvm/DebugInfo/PDB/Native/Hash.h"
#include "llvm/Support/BinaryItemStream.h"
#include "llvm/Support/BinaryStreamWriter.h"
#include "llvm/Support/xxhash.h"
#include <algorithm>
#include <vector>
Include dependency graph for GSIStreamBuilder.cpp:

Go to the source code of this file.


struct  llvm::pdb::GSIHashStreamBuilder
struct  llvm::pdb::GSIHashStreamBuilder::SymbolDenseMapInfo


static bool isAsciiString (StringRef S)
static bool gsiRecordLess (StringRef S1, StringRef S2)
static bool comparePubSymByAddrAndName (const std::pair< const CVSymbol *, const PublicSym32 *> &LS, const std::pair< const CVSymbol *, const PublicSym32 *> &RS)
static std::vector< ulittle32_t > computeAddrMap (ArrayRef< CVSymbol > Records)
 Compute the address map. More...
static Error writeRecords (BinaryStreamWriter &Writer, ArrayRef< CVSymbol > Records)

Function Documentation

◆ comparePubSymByAddrAndName()

static bool comparePubSymByAddrAndName ( const std::pair< const CVSymbol *, const PublicSym32 *> &  LS,
const std::pair< const CVSymbol *, const PublicSym32 *> &  RS 

Definition at line 232 of file GSIStreamBuilder.cpp.

Referenced by computeAddrMap().

◆ computeAddrMap()

static std::vector<ulittle32_t> computeAddrMap ( ArrayRef< CVSymbol Records)

Compute the address map.

The address map is an array of symbol offsets sorted so that it can be binary searched by address.

Definition at line 245 of file GSIStreamBuilder.cpp.

References assert(), llvm::cantFail(), comparePubSymByAddrAndName(), llvm::ArrayRef< T >::size(), and llvm::stable_sort().

Referenced by writeRecords().

◆ gsiRecordLess()

static bool gsiRecordLess ( StringRef  S1,
StringRef  S2 

◆ isAsciiString()

static bool isAsciiString ( StringRef  S)

Definition at line 113 of file GSIStreamBuilder.cpp.

References llvm::all_of(), and C.

Referenced by gsiRecordLess().

◆ writeRecords()

static Error writeRecords ( BinaryStreamWriter Writer,
ArrayRef< CVSymbol Records