LLVM 20.0.0git
|
#include "llvm/ProfileData/Coverage/CoverageMappingWriter.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ProfileData/InstrProf.h"
#include "llvm/Support/Compression.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. | |
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 138 of file CoverageMappingWriter.cpp.
References assert(), llvm::CallingConv::C, and llvm::coverage::Counter::EncodingTagBits.
Referenced by writeCounter().
|
static |
Definition at line 149 of file CoverageMappingWriter.cpp.
References llvm::CallingConv::C, encodeCounter(), llvm::encodeULEB128(), and OS.
Referenced by llvm::coverage::CoverageMappingWriter::write().