LLVM  6.0.0svn
Classes | Functions
GSIStreamBuilder.cpp File Reference
#include "llvm/DebugInfo/PDB/Native/GSIStreamBuilder.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 <algorithm>
#include <vector>
Include dependency graph for GSIStreamBuilder.cpp:

Go to the source code of this file.

Classes

struct  llvm::pdb::GSIHashStreamBuilder
 

Functions

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 
)
static

Definition at line 172 of file GSIStreamBuilder.cpp.

Referenced by computeAddrMap().

◆ computeAddrMap()

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

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 185 of file GSIStreamBuilder.cpp.

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

Referenced by writeRecords().

◆ writeRecords()

static Error writeRecords ( BinaryStreamWriter Writer,
ArrayRef< CVSymbol Records 
)
static