LLVM  4.0.0
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 <CoverageMapping.h>

Collaboration diagram for llvm::coverage::Counter:
[legend]

Public Types

enum  CounterKind { Zero, CounterValueReference, Expression }
 

Public Member Functions

 Counter ()
 
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. More...
 
static Counter getCounter (unsigned CounterId)
 Return the counter that corresponds to a specific profile counter. More...
 
static Counter getExpression (unsigned ExpressionId)
 Return the counter that corresponds to a specific addition counter expression. More...
 

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 86 of file CoverageMapping.h.

Member Enumeration Documentation

Enumerator
Zero 
CounterValueReference 
Expression 

Definition at line 87 of file CoverageMapping.h.

Constructor & Destructor Documentation

llvm::coverage::Counter::Counter ( )
inline

Definition at line 100 of file CoverageMapping.h.

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

Member Function Documentation

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

Return the counter that corresponds to a specific profile counter.

Definition at line 128 of file CoverageMapping.h.

References Counter(), and CounterValueReference.

unsigned llvm::coverage::Counter::getCounterID ( ) const
inline
static Counter llvm::coverage::Counter::getExpression ( unsigned  ExpressionId)
inlinestatic

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

Definition at line 134 of file CoverageMapping.h.

References Counter(), and Expression.

unsigned llvm::coverage::Counter::getExpressionID ( ) const
inline
CounterKind llvm::coverage::Counter::getKind ( ) const
inline
static Counter llvm::coverage::Counter::getZero ( )
inlinestatic

Return the counter that represents the number zero.

Definition at line 125 of file CoverageMapping.h.

References Counter().

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

Definition at line 106 of file CoverageMapping.h.

References Expression.

Referenced by encodeCounter().

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

Definition at line 104 of file CoverageMapping.h.

References Zero.

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

Friends And Related Function Documentation

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

Definition at line 116 of file CoverageMapping.h.

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

Definition at line 120 of file CoverageMapping.h.

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

Definition at line 112 of file CoverageMapping.h.

Member Data Documentation

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

Definition at line 90 of file CoverageMapping.h.

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

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

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