LLVM 17.0.0git
|
#include "llvm/ProfileData/InstrProfReader.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/IR/ProfileSummary.h"
#include "llvm/ProfileData/InstrProf.h"
#include "llvm/ProfileData/MemProf.h"
#include "llvm/ProfileData/ProfileCommon.h"
#include "llvm/ProfileData/SymbolRemappingReader.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorOr.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/SwapByteOrder.h"
#include "llvm/Support/VirtualFileSystem.h"
#include <algorithm>
#include <cstddef>
#include <cstdint>
#include <limits>
#include <memory>
#include <system_error>
#include <utility>
#include <vector>
Go to the source code of this file.
Classes | |
class | llvm::InstrProfReaderItaniumRemapper< HashTableImpl > |
A remapper that applies remappings based on a symbol remapping file. More... | |
Namespaces | |
namespace | llvm |
This is an optimization pass for GlobalISel generic memory operations. | |
Macros | |
#define | CHECK_LINE_END(Line) |
#define | READ_NUM(Str, Dst) |
#define | VP_READ_ADVANCE(Val) |
Typedefs | |
using | data_type = InstrProfLookupTrait::data_type |
using | offset_type = InstrProfLookupTrait::offset_type |
Functions | |
static InstrProfKind | getProfileKindFromVersion (uint64_t Version) |
static Expected< std::unique_ptr< MemoryBuffer > > | setupMemoryBuffer (const Twine &Filename, vfs::FileSystem &FS) |
static Error | initializeReader (InstrProfReader &Reader) |
static Error | readBinaryIdsInternal (const MemoryBuffer &DataBuffer, const uint64_t BinaryIdsSize, const uint8_t *BinaryIdsStart, std::vector< llvm::object::BuildID > &BinaryIds, const llvm::support::endianness Endian) |
Read a list of binary ids from a profile that consist of a. | |
static Error | printBinaryIdsInternal (raw_ostream &OS, const MemoryBuffer &DataBuffer, uint64_t BinaryIdsSize, const uint8_t *BinaryIdsStart, llvm::support::endianness Endian) |
#define CHECK_LINE_END | ( | Line | ) |
#define READ_NUM | ( | Str, | |
Dst | |||
) |
#define VP_READ_ADVANCE | ( | Val | ) |
Definition at line 770 of file InstrProfReader.cpp.
Definition at line 771 of file InstrProfReader.cpp.
|
static |
Definition at line 43 of file InstrProfReader.cpp.
Referenced by llvm::RawInstrProfReader< IntPtrT >::getProfileKind(), and llvm::InstrProfReaderIndex< HashTableImpl >::getProfileKind().
|
static |
Definition at line 78 of file InstrProfReader.cpp.
References llvm::InstrProfReader::readHeader().
Referenced by llvm::InstrProfReader::create(), and llvm::IndexedInstrProfReader::create().
|
static |
Definition at line 144 of file InstrProfReader.cpp.
References E, Endian, llvm::format(), I, OS, readBinaryIdsInternal(), and llvm::Error::success().
Referenced by llvm::RawInstrProfReader< IntPtrT >::printBinaryIds(), and llvm::IndexedInstrProfReader::printBinaryIds().
|
static |
Read a list of binary ids from a profile that consist of a.
uint64_t binary id length b. uint8_t binary id data c. uint8_t padding (if necessary) This function is shared between raw and indexed profiles. Raw profiles are in host-endian format, and indexed profiles are in little-endian format. So, this function takes an argument indicating the associated endian format to read the binary ids correctly.
Definition at line 91 of file InstrProfReader.cpp.
References llvm::alignToPowerOf2(), End, Endian, llvm::MemoryBuffer::getBufferEnd(), and llvm::Error::success().
Referenced by printBinaryIdsInternal(), llvm::RawInstrProfReader< IntPtrT >::readBinaryIds(), and llvm::IndexedInstrProfReader::readBinaryIds().
|
static |
Definition at line 70 of file InstrProfReader.cpp.
References llvm::errorCodeToError(), and llvm::MemoryBuffer::getSTDIN().
Referenced by llvm::sampleprof::SampleProfileReader::create(), llvm::sampleprof::SampleProfileReaderItaniumRemapper::create(), llvm::InstrProfReader::create(), and llvm::IndexedInstrProfReader::create().