LLVM 20.0.0git
|
#include "llvm/ProfileData/Coverage/CoverageMappingReader.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Object/Archive.h"
#include "llvm/Object/Binary.h"
#include "llvm/Object/COFF.h"
#include "llvm/Object/Error.h"
#include "llvm/Object/MachOUniversal.h"
#include "llvm/Object/ObjectFile.h"
#include "llvm/ProfileData/InstrProf.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/Compression.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Endian.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/LEB128.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TargetParser/Triple.h"
#include <vector>
Go to the source code of this file.
Classes | |
struct | FilenameRange |
A range of filename indices. More... | |
Macros | |
#define | DEBUG_TYPE "coverage-mapping" |
Functions | |
STATISTIC (CovMapNumRecords, "The # of coverage function records") | |
STATISTIC (CovMapNumUsedRecords, "The # of used coverage function records") | |
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::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 . | |
Variables | |
static const unsigned | EncodingExpansionRegionBit |
#define DEBUG_TYPE "coverage-mapping" |
Definition at line 45 of file CoverageMappingReader.cpp.
Determine whether Arch
is invalid or empty, given Bin
.
Definition at line 1190 of file CoverageMappingReader.cpp.
References llvm::Bin.
Referenced by llvm::coverage::BinaryCoverageReader::create().
Definition at line 525 of file CoverageMappingReader.cpp.
References llvm::coverage::RawCoverageMappingDummyChecker::isDummy().
|
static |
Definition at line 1077 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::WritableMemoryBuffer::getNewUninitMemBuffer(), llvm::isAddrAligned(), llvm::little, lookupSections(), and llvm::coverage::malformed.
Referenced by llvm::coverage::BinaryCoverageReader::create().
|
static |
Definition at line 934 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().
|
static |
Find all sections that match IPSK
name.
There may be more than one if comdats are in use, e.g. for the __llvm_covfun section on ELF.
Definition at line 1045 of file CoverageMappingReader.cpp.
References llvm::getInstrProfSectionName(), llvm::object::Binary::getTripleObjectFormat(), N, Name, llvm::coverage::no_data_found, llvm::object::ObjectFile::sections(), and llvm::Expected< T >::takeError().
Referenced by loadBinaryFormat().
|
static |
Definition at line 852 of file CoverageMappingReader.cpp.
References llvm::coverage::CurrentVersion, llvm::StringRef::data(), Endian, llvm::Expected< T >::get(), llvm::StringRef::size(), llvm::Error::success(), llvm::Expected< T >::takeError(), llvm::coverage::unsupported_version, llvm::Version, and llvm::coverage::Version4.
STATISTIC | ( | CovMapNumRecords | , |
"The # of coverage function records" | |||
) |
STATISTIC | ( | CovMapNumUsedRecords | , |
"The # of used coverage function records" | |||
) |
Definition at line 232 of file CoverageMappingReader.cpp.