LLVM: lib/ProfileData/Coverage/CoverageMappingReader.cpp File Reference (original) (raw)

Go to the source code of this file.

Functions
STATISTIC (CovMapNumRecords, "The # of coverage function records")
STATISTIC (CovMapNumUsedRecords, "The # of used coverage function records")
static bool shouldSkipSectionFirstByte (SectionRef &Section)
Determine if we should skip the first byte of the section content.
static Expected< bool > isCoverageMappingDummy (uint64_t Hash, StringRef Mapping)
template<typename T , llvm::endianness Endian>
static Error readCoverageMappingData (InstrProfSymtab &ProfileNames, StringRef CovMap, StringRef FuncRecords, std::vector< BinaryCoverageReader::ProfileMappingRecord > &Records, StringRef CompilationDir, std::vector< std::string > &Filenames)
static Expected< std::unique_ptr< BinaryCoverageReader > > loadTestingFormat (StringRef Data, StringRef CompilationDir)
static Expected< std::vector< SectionRef > > lookupSections (ObjectFile &OF, InstrProfSectKind IPSK)
Find all sections that match IPSK name.
static Expected< std::pair< StringRef, uint64_t > > lookupAllocatableSection (ObjectFile &OF, InstrProfSectKind IPSK)
Find a section that matches Name and is allocatable at runtime.
static Expected< std::unique_ptr< BinaryCoverageReader > > loadBinaryFormat (std::unique_ptr< Binary > Bin, StringRef Arch, StringRef CompilationDir="", object::BuildIDRef *BinaryID=nullptr)
static bool isArchSpecifierInvalidOrMissing (Binary *Bin, StringRef Arch)
Determine whether Arch is invalid or empty, given Bin.

DEBUG_TYPE

#define DEBUG_TYPE "coverage-mapping"

isArchSpecifierInvalidOrMissing()

isCoverageMappingDummy()

loadBinaryFormat()

Definition at line 1138 of file CoverageMappingReader.cpp.

References llvm::alignAddr(), llvm::alignTo(), assert(), llvm::big, llvm::Bin, llvm::consumeError(), llvm::InstrProfSymtab::create(), llvm::coverage::BinaryCoverageReader::createCoverageReaderFromBuffer(), llvm::StringRef::empty(), Endian, llvm::errorCodeToError(), llvm::object::getBuildID(), llvm::MemoryBuffer::getMemBuffer(), llvm::MemoryBuffer::getMemBufferCopy(), llvm::WritableMemoryBuffer::getNewUninitMemBuffer(), llvm::isAddrAligned(), llvm::little, lookupAllocatableSection(), lookupSections(), and llvm::coverage::malformed.

Referenced by llvm::coverage::BinaryCoverageReader::create().

loadTestingFormat()

Definition at line 943 of file CoverageMappingReader.cpp.

References llvm::Address, llvm::InstrProfSymtab::create(), llvm::coverage::BinaryCoverageReader::createCoverageReaderFromBuffer(), llvm::Data, llvm::decodeULEB128(), Endian, llvm::MemoryBuffer::getMemBuffer(), llvm::little, llvm::coverage::malformed, N, llvm::offsetToAlignedAddr(), llvm::coverage::TestingFormatMagic, llvm::coverage::truncated, llvm::coverage::unsupported_version, llvm::Version, llvm::coverage::Version1, llvm::coverage::Version2, and llvm::coverage::Version4.

Referenced by llvm::coverage::BinaryCoverageReader::create().

lookupAllocatableSection()

lookupSections()

readCoverageMappingData()

shouldSkipSectionFirstByte()

STATISTIC() [1/2]

STATISTIC ( CovMapNumRecords ,
"The # of coverage function records"
)

STATISTIC() [2/2]

STATISTIC ( CovMapNumUsedRecords ,
"The # of used coverage function records"
)

EncodingExpansionRegionBit