LLVM
8.0.1
|
#include "llvm/ProfileData/Coverage/CoverageMappingWriter.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/LEB128.h"
#include "llvm/Support/raw_ostream.h"
#include <algorithm>
#include <cassert>
#include <limits>
#include <vector>
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) |
|
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 102 of file CoverageMappingWriter.cpp.
References assert(), llvm::coverage::Counter::EncodingTagBits, llvm::coverage::Counter::getCounterID(), llvm::coverage::Counter::getExpressionID(), llvm::coverage::Counter::getKind(), llvm::coverage::Counter::isExpression(), and llvm::max().
Referenced by writeCounter().
|
static |
Definition at line 113 of file CoverageMappingWriter.cpp.
References encodeCounter(), and llvm::encodeULEB128().
Referenced by llvm::coverage::CoverageMappingWriter::write().