LLVM 20.0.0git
|
GCOVBlock - Collects block information. More...
#include "llvm/ProfileData/GCOV.h"
Public Types | |
using | EdgeIterator = SmallVectorImpl< GCOVArc * >::const_iterator |
using | BlockVector = SmallVector< const GCOVBlock *, 1 > |
using | BlockVectorLists = SmallVector< BlockVector, 4 > |
using | Edges = SmallVector< GCOVArc *, 4 > |
Public Member Functions | |
GCOVBlock (uint32_t N) | |
void | addLine (uint32_t N) |
uint32_t | getLastLine () const |
uint64_t | getCount () const |
void | addSrcEdge (GCOVArc *Edge) |
void | addDstEdge (GCOVArc *Edge) |
iterator_range< EdgeIterator > | srcs () const |
iterator_range< EdgeIterator > | dsts () const |
void | print (raw_ostream &OS) const |
collectLineCounts - Collect line counts. | |
void | dump () const |
dump - Dump GCOVBlock content to dbgs() for debugging purposes. | |
Static Public Member Functions | |
static uint64_t | augmentOneCycle (GCOVBlock *src, std::vector< std::pair< GCOVBlock *, size_t > > &stack) |
static uint64_t | getCyclesCount (const BlockVector &blocks) |
static uint64_t | getLineCount (const BlockVector &Blocks) |
Public Attributes | |
uint32_t | number |
uint64_t | count = 0 |
SmallVector< GCOVArc *, 2 > | pred |
SmallVector< GCOVArc *, 2 > | succ |
SmallVector< uint32_t, 4 > | lines |
bool | traversable = false |
GCOVArc * | incoming = nullptr |
using llvm::GCOVBlock::BlockVector = SmallVector<const GCOVBlock *, 1> |
using llvm::GCOVBlock::BlockVectorLists = SmallVector<BlockVector, 4> |
using llvm::GCOVBlock::Edges = SmallVector<GCOVArc *, 4> |
|
inline |
|
inline |
Definition at line 283 of file GCOV.h.
References lines, N, and llvm::SmallVectorTemplateBase< T, bool >::push_back().
|
inline |
Definition at line 287 of file GCOV.h.
References pred.
Referenced by llvm::GCOVFile::readGCDA(), and llvm::GCOVFile::readGCNO().
|
static |
Definition at line 473 of file GCOV.cpp.
References incoming, and succ.
Referenced by getCyclesCount().
|
inline |
Definition at line 295 of file GCOV.h.
References llvm::make_range(), and succ.
LLVM_DUMP_METHOD void GCOVBlock::dump | ( | ) | const |
|
inline |
|
static |
Definition at line 524 of file GCOV.cpp.
References assert(), augmentOneCycle(), block, blocks, count, incoming, and traversable.
|
inline |
Definition at line 284 of file GCOV.h.
References llvm::SmallVectorTemplateCommon< T, typename >::back(), and lines.
|
static |
void GCOVBlock::print | ( | raw_ostream & | OS | ) | const |
|
inline |
Definition at line 291 of file GCOV.h.
References llvm::make_range(), and pred.
uint64_t llvm::GCOVBlock::count = 0 |
Definition at line 310 of file GCOV.h.
Referenced by getCount(), getCyclesCount(), and print().
GCOVArc* llvm::GCOVBlock::incoming = nullptr |
Definition at line 315 of file GCOV.h.
Referenced by augmentOneCycle(), and getCyclesCount().
SmallVector<uint32_t, 4> llvm::GCOVBlock::lines |
Definition at line 313 of file GCOV.h.
Referenced by addLine(), getLastLine(), and print().
SmallVector<GCOVArc *, 2> llvm::GCOVBlock::pred |
Definition at line 311 of file GCOV.h.
Referenced by addSrcEdge(), print(), and srcs().
SmallVector<GCOVArc *, 2> llvm::GCOVBlock::succ |
Definition at line 312 of file GCOV.h.
Referenced by addDstEdge(), augmentOneCycle(), dsts(), and print().
bool llvm::GCOVBlock::traversable = false |
Definition at line 314 of file GCOV.h.
Referenced by getCyclesCount().