LLVM  4.0.0
Functions
CoverageMappingWriter.cpp File Reference
#include "llvm/ProfileData/Coverage/CoverageMappingWriter.h"
#include "llvm/Support/LEB128.h"
Include dependency graph for CoverageMappingWriter.cpp:

Go to the source code of this file.

Functions

static unsigned encodeCounter (ArrayRef< CounterExpression > Expressions, Counter C)
 Encode the counter. More...
 
static void writeCounter (ArrayRef< CounterExpression > Expressions, Counter C, raw_ostream &OS)
 

Function Documentation

static unsigned encodeCounter ( ArrayRef< CounterExpression Expressions,
Counter  C 
)
static

Encode the counter.

The encoding uses the following format: Low 2 bits - Tag: Counter::Zero(0) - A Counter with kind Counter::Zero Counter::CounterValueReference(1) - A counter with kind Counter::CounterValueReference Counter::Expression(2) + CounterExpression::Subtract(0) - A counter with kind Counter::Expression and an expression with kind CounterExpression::Subtract Counter::Expression(2) + CounterExpression::Add(1) - A counter with kind Counter::Expression and an expression with kind CounterExpression::Add Remaining bits - Counter/Expression ID.

Definition at line 93 of file CoverageMappingWriter.cpp.

References assert(), llvm::coverage::Counter::EncodingTagBits, llvm::coverage::Counter::getCounterID(), llvm::coverage::Counter::getExpressionID(), llvm::coverage::Counter::getKind(), and llvm::coverage::Counter::isExpression().

Referenced by writeCounter().

static void writeCounter ( ArrayRef< CounterExpression Expressions,
Counter  C,
raw_ostream OS 
)
static