|
LLVM 23.0.0git
|
Sample-based profile reader. More...
#include "llvm/ProfileData/SampleProfReader.h"
Public Member Functions | |
| NameTableIterator ()=default | |
| NameTableIterator (const FunctionId *P) | |
| bool | operator== (const NameTableIterator &RHS) const |
| NameTableIterator & | operator++ () |
| FunctionId | operator* () const |
| Public Member Functions inherited from llvm::iterator_facade_base< NameTableIterator, std::input_iterator_tag, FunctionId, std::ptrdiff_t, const FunctionId *, FunctionId > | |
| NameTableIterator | operator+ (std::ptrdiff_t n) const |
| NameTableIterator | operator- (std::ptrdiff_t n) const |
| NameTableIterator & | operator++ () |
| NameTableIterator & | operator-- () |
| bool | operator!= (const NameTableIterator &RHS) const |
| bool | operator> (const NameTableIterator &RHS) const |
| bool | operator<= (const NameTableIterator &RHS) const |
| bool | operator>= (const NameTableIterator &RHS) const |
| PointerProxy | operator-> () const |
| ReferenceProxy | operator[] (std::ptrdiff_t n) const |
Additional Inherited Members | |
| Public Types inherited from llvm::iterator_facade_base< NameTableIterator, std::input_iterator_tag, FunctionId, std::ptrdiff_t, const FunctionId *, FunctionId > | |
| enum | |
| using | iterator_category |
| using | value_type |
| using | difference_type |
| using | pointer |
| using | reference |
Sample-based profile reader.
Each profile contains sample counts for all the functions executed. Inside each function, statements are annotated with the collected samples on all the instructions associated with that statement.
For this to produce meaningful data, the program needs to be compiled with some debug information (at minimum, line numbers: -gline-tables-only). Otherwise, it will be impossible to match IR instructions to the line numbers collected by the profiler.
From the profile file, we are interested in collecting the following information:
The reader supports two file formats: text and binary. The text format is useful for debugging and testing, while the binary format is more compact and I/O efficient. They can both be used interchangeably. NameTableIterator is a lightweight, self-contained input iterator designed to stream FunctionId symbols from an eagerly populated contiguous buffer of FunctionId objects.
Definition at line 350 of file SampleProfReader.h.
|
default |
Referenced by operator++(), and operator==().
|
inline |
Definition at line 358 of file SampleProfReader.h.
References P.
|
inline |
Definition at line 367 of file SampleProfReader.h.
|
inline |
Definition at line 362 of file SampleProfReader.h.
References NameTableIterator().
|
inline |
Definition at line 360 of file SampleProfReader.h.
References NameTableIterator(), and RHS.