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
- public InstrProfReaderItaniumRemapper<HashTableImpl>(std::unique_ptr<MemoryBuffer> RemapBuffer, InstrProfReaderIndex<HashTableImpl> & Underlying)
- public static llvm::StringRef extractName(llvm::StringRef Name)
- public llvm::Error getRecords(llvm::StringRef FuncName, ArrayRef<llvm::NamedInstrProfRecord> & Data)
- public llvm::Error populateRemappings()
- public static void reconstituteName(llvm::StringRef OrigName, llvm::StringRef ExtractedName, llvm::StringRef Replacement, SmallVectorImpl<char> & Out)
Inherited from InstrProfReaderRemapper:
Methods
¶InstrProfReaderItaniumRemapper<HashTableImpl>(
std::unique_ptr<MemoryBuffer> RemapBuffer,
InstrProfReaderIndex<HashTableImpl>&
Underlying)
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)
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)
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()
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)
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