LLVM 22.0.0git
CoverageMapping.cpp File Reference
#include "llvm/ProfileData/Coverage/CoverageMapping.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallBitVector.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Object/BuildID.h"
#include "llvm/ProfileData/Coverage/CoverageMappingReader.h"
#include "llvm/ProfileData/InstrProfReader.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/Errc.h"
#include "llvm/Support/Error.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/VirtualFileSystem.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <cmath>
#include <cstdint>
#include <iterator>
#include <map>
#include <memory>
#include <optional>
#include <stack>
#include <string>
#include <system_error>
#include <utility>
#include <vector>

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "coverage-mapping"

Functions

static unsigned getMaxCounterID (const CounterMappingContext &Ctx, const CoverageMappingRecord &Record)
static unsigned getMaxBitmapSize (const CoverageMappingRecord &Record, bool IsVersion11)
 Returns the bit count.
static Error handleMaybeNoDataFoundError (Error E)
static SmallBitVector gatherFileIDs (StringRef SourceFile, const FunctionRecord &Function)
static std::optional< unsignedfindMainViewFileID (const FunctionRecord &Function)
 Return the ID of the file where the definition of the function is located.
static std::optional< unsignedfindMainViewFileID (StringRef SourceFile, const FunctionRecord &Function)
 Check if SourceFile is the file that contains the definition of the Function.
static bool isExpansion (const CountedRegion &R, unsigned FileID)
static std::string getCoverageMapErrString (coveragemap_error Err, const std::string &ErrMsg="")

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "coverage-mapping"

Definition at line 49 of file CoverageMapping.cpp.

Function Documentation

◆ findMainViewFileID() [1/2]

◆ findMainViewFileID() [2/2]

std::optional< unsigned > findMainViewFileID ( StringRef SourceFile,
const FunctionRecord & Function )
static

Check if SourceFile is the file that contains the definition of the Function.

Return the ID of the file in that case or std::nullopt otherwise.

Definition at line 1435 of file CoverageMapping.cpp.

References findMainViewFileID(), and I.

◆ gatherFileIDs()

SmallBitVector gatherFileIDs ( StringRef SourceFile,
const FunctionRecord & Function )
static

Definition at line 1409 of file CoverageMapping.cpp.

References E(), I, and llvm::Function::size().

Referenced by llvm::coverage::CoverageMapping::getCoverageForFile().

◆ getCoverageMapErrString()

◆ getMaxBitmapSize()

unsigned getMaxBitmapSize ( const CoverageMappingRecord & Record,
bool IsVersion11 )
static

Returns the bit count.

Definition at line 645 of file CoverageMapping.cpp.

References llvm::alignTo(), llvm::coverage::CounterMappingRegion::MCDCDecisionRegion, and llvm::reverse().

◆ getMaxCounterID()

unsigned getMaxCounterID ( const CounterMappingContext & Ctx,
const CoverageMappingRecord & Record )
static

Definition at line 635 of file CoverageMapping.cpp.

◆ handleMaybeNoDataFoundError()

◆ isExpansion()