LLVM 22.0.0git
llvm::coverage::Counter Struct Reference

A Counter is an abstract value that describes how to compute the execution count for a region of code using the collected profile count data. More...

#include "llvm/ProfileData/Coverage/CoverageMapping.h"

Public Types

enum  CounterKind { Zero , CounterValueReference , Expression }
 The CounterExpression kind (Add or Subtract) is encoded in bit 0 next to the CounterKind. More...

Public Member Functions

 Counter ()=default
CounterKind getKind () const
bool isZero () const
bool isExpression () const
unsigned getCounterID () const
unsigned getExpressionID () const

Static Public Member Functions

static Counter getZero ()
 Return the counter that represents the number zero.
static Counter getCounter (unsigned CounterId)
 Return the counter that corresponds to a specific profile counter.
static Counter getExpression (unsigned ExpressionId)
 Return the counter that corresponds to a specific addition counter expression.

Static Public Attributes

static const unsigned EncodingTagBits = 2
static const unsigned EncodingTagMask = 0x3
static const unsigned EncodingCounterTagAndExpansionRegionTagBits

Friends

bool operator== (const Counter &LHS, const Counter &RHS)
bool operator!= (const Counter &LHS, const Counter &RHS)
bool operator< (const Counter &LHS, const Counter &RHS)

Detailed Description

A Counter is an abstract value that describes how to compute the execution count for a region of code using the collected profile count data.

Definition at line 108 of file CoverageMapping.h.

Member Enumeration Documentation

◆ CounterKind

The CounterExpression kind (Add or Subtract) is encoded in bit 0 next to the CounterKind.

This means CounterKind has to leave bit 0 free.

Enumerator
Zero 
CounterValueReference 
Expression 

Definition at line 111 of file CoverageMapping.h.

Constructor & Destructor Documentation

◆ Counter()

llvm::coverage::Counter::Counter ( )
default

Referenced by getCounter(), getExpression(), and getZero().

Member Function Documentation

◆ getCounter()

Counter llvm::coverage::Counter::getCounter ( unsigned CounterId)
inlinestatic

Return the counter that corresponds to a specific profile counter.

Definition at line 152 of file CoverageMapping.h.

References Counter(), and CounterValueReference.

◆ getCounterID()

unsigned llvm::coverage::Counter::getCounterID ( ) const
inline

Definition at line 132 of file CoverageMapping.h.

◆ getExpression()

Counter llvm::coverage::Counter::getExpression ( unsigned ExpressionId)
inlinestatic

Return the counter that corresponds to a specific addition counter expression.

Definition at line 158 of file CoverageMapping.h.

References Counter(), and Expression.

◆ getExpressionID()

unsigned llvm::coverage::Counter::getExpressionID ( ) const
inline

Definition at line 134 of file CoverageMapping.h.

◆ getKind()

CounterKind llvm::coverage::Counter::getKind ( ) const
inline

Definition at line 126 of file CoverageMapping.h.

◆ getZero()

Counter llvm::coverage::Counter::getZero ( )
inlinestatic

Return the counter that represents the number zero.

Definition at line 149 of file CoverageMapping.h.

References Counter().

◆ isExpression()

bool llvm::coverage::Counter::isExpression ( ) const
inline

Definition at line 130 of file CoverageMapping.h.

References Expression.

◆ isZero()

bool llvm::coverage::Counter::isZero ( ) const
inline

Definition at line 128 of file CoverageMapping.h.

References Zero.

◆ operator!=

bool operator!= ( const Counter & LHS,
const Counter & RHS )
friend

Definition at line 140 of file CoverageMapping.h.

◆ operator<

bool operator< ( const Counter & LHS,
const Counter & RHS )
friend

Definition at line 144 of file CoverageMapping.h.

References LHS, and RHS.

◆ operator==

bool operator== ( const Counter & LHS,
const Counter & RHS )
friend

Definition at line 136 of file CoverageMapping.h.

References LHS, and RHS.

Member Data Documentation

◆ EncodingCounterTagAndExpansionRegionTagBits

const unsigned llvm::coverage::Counter::EncodingCounterTagAndExpansionRegionTagBits
static
Initial value:
=
static const unsigned EncodingTagBits

Definition at line 114 of file CoverageMapping.h.

Referenced by llvm::coverage::CoverageMappingWriter::write().

◆ EncodingTagBits

const unsigned llvm::coverage::Counter::EncodingTagBits = 2
static

◆ EncodingTagMask

const unsigned llvm::coverage::Counter::EncodingTagMask = 0x3
static

The documentation for this struct was generated from the following file: