class InstrProfReaderItaniumRemapper

Declaration

template <typename HashTableImpl>
class InstrProfReaderItaniumRemapper : public InstrProfReaderRemapper { /* full declaration omitted */ };

Description

A remapper that applies remappings based on a symbol remapping file.

Declared at: llvm/lib/ProfileData/InstrProfReader.cpp:765

Inherits from: InstrProfReaderRemapper

Templates

HashTableImpl

Member Variables

private std::unique_ptr<MemoryBuffer> RemapBuffer
The memory buffer containing the remapping configuration. Remappings holds pointers into this buffer.
private llvm::SymbolRemappingReader Remappings
The mangling remapper.
private DenseMap<SymbolRemappingReader::Key, llvm::StringRef> MappedNames
Mapping from mangled name keys to the name used for the key in the profile data. FIXME: Can we store a location within the on-disk hash table instead of redoing lookup?
private InstrProfReaderIndex<HashTableImpl>& Underlying
The real profile data reader.

Method Overview

Inherited from InstrProfReaderRemapper:

Methods

InstrProfReaderItaniumRemapper<HashTableImpl>(
    std::unique_ptr<MemoryBuffer> RemapBuffer,
    InstrProfReaderIndex<HashTableImpl>&
        Underlying)

Declared at: llvm/lib/ProfileData/InstrProfReader.cpp:768

Parameters

std::unique_ptr<MemoryBuffer> RemapBuffer
InstrProfReaderIndex<HashTableImpl>& Underlying

static llvm::StringRef extractName(
    llvm::StringRef Name)

Description

Extract the original function name from a PGO function name.

Declared at: llvm/lib/ProfileData/InstrProfReader.cpp:775

Parameters

llvm::StringRef Name

llvm::Error getRecords(
    llvm::StringRef FuncName,
    ArrayRef<llvm::NamedInstrProfRecord>& Data)

Declared at: llvm/lib/ProfileData/InstrProfReader.cpp:815

Parameters

llvm::StringRef FuncName
ArrayRef<llvm::NamedInstrProfRecord>& Data

llvm::Error populateRemappings()

Declared at: llvm/lib/ProfileData/InstrProfReader.cpp:800

static void reconstituteName(
    llvm::StringRef OrigName,
    llvm::StringRef ExtractedName,
    llvm::StringRef Replacement,
    SmallVectorImpl<char>& Out)

Description

Given a mangled name extracted from a PGO function name, and a new form for that mangled name, reconstitute the name.

Declared at: llvm/lib/ProfileData/InstrProfReader.cpp:791

Parameters

llvm::StringRef OrigName
llvm::StringRef ExtractedName
llvm::StringRef Replacement
SmallVectorImpl<char>& Out