LLVM 19.0.0git
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
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 105 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 108 of file CoverageMapping.h.

Constructor & Destructor Documentation

◆ Counter()

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

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

Member Function Documentation

◆ getCounter()

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

Return the counter that corresponds to a specific profile counter.

Definition at line 149 of file CoverageMapping.h.

References Counter(), and CounterValueReference.

◆ getCounterID()

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

Definition at line 129 of file CoverageMapping.h.

◆ getExpression()

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

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

Definition at line 155 of file CoverageMapping.h.

References Counter().

◆ getExpressionID()

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

Definition at line 131 of file CoverageMapping.h.

◆ getKind()

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

Definition at line 123 of file CoverageMapping.h.

◆ getZero()

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

Return the counter that represents the number zero.

Definition at line 146 of file CoverageMapping.h.

References Counter().

◆ isExpression()

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

Definition at line 127 of file CoverageMapping.h.

References Expression.

◆ isZero()

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

Definition at line 125 of file CoverageMapping.h.

References Zero.

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

Friends And Related Function Documentation

◆ operator!=

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

Definition at line 137 of file CoverageMapping.h.

◆ operator<

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

Definition at line 141 of file CoverageMapping.h.

◆ operator==

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

Definition at line 133 of file CoverageMapping.h.

Member Data Documentation

◆ EncodingCounterTagAndExpansionRegionTagBits

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

Definition at line 111 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: