LLVM
8.0.1
|
Representation of a single sample record. More...
#include "llvm/ProfileData/SampleProf.h"
Public Types | |
using | CallTargetMap = StringMap< uint64_t > |
Public Member Functions | |
SampleRecord ()=default | |
sampleprof_error | addSamples (uint64_t S, uint64_t Weight=1) |
Increment the number of samples for this record by S . More... | |
sampleprof_error | addCalledTarget (StringRef F, uint64_t S, uint64_t Weight=1) |
Add called function F with samples S . More... | |
bool | hasCalls () const |
Return true if this sample record contains function calls. More... | |
uint64_t | getSamples () const |
const CallTargetMap & | getCallTargets () const |
sampleprof_error | merge (const SampleRecord &Other, uint64_t Weight=1) |
Merge the samples in Other into this record. More... | |
void | print (raw_ostream &OS, unsigned Indent) const |
Print the sample record to the stream OS indented by Indent . More... | |
void | dump () const |
Representation of a single sample record.
A sample record is represented by a positive integer value, which indicates how frequently was the associated line location executed.
Additionally, if the associated location contains a function call, the record will hold a list of all the possible called targets. For direct calls, this will be the exact function being invoked. For indirect calls (function pointers, virtual table dispatch), this will be a list of one or more functions.
Definition at line 145 of file SampleProf.h.
using llvm::sampleprof::SampleRecord::CallTargetMap = StringMap<uint64_t> |
Definition at line 147 of file SampleProf.h.
|
default |
|
inline |
Add called function F
with samples S
.
Optionally scale sample count S
by Weight
.
Sample counts accumulate using saturating arithmetic, to avoid wrapping around unsigned integers.
Definition at line 168 of file SampleProf.h.
References llvm::counter_overflow, F(), llvm::SaturatingMultiplyAdd(), and llvm::success.
|
inline |
Increment the number of samples for this record by S
.
Optionally scale sample count S
by Weight
.
Sample counts accumulate using saturating arithmetic, to avoid wrapping around unsigned integers.
Definition at line 156 of file SampleProf.h.
References llvm::counter_overflow, llvm::SaturatingMultiplyAdd(), and llvm::success.
LLVM_DUMP_METHOD void SampleRecord::dump | ( | ) | const |
Definition at line 113 of file SampleProf.cpp.
References llvm::dbgs(), and print().
|
inline |
Definition at line 182 of file SampleProf.h.
Referenced by merge(), llvm::sampleprof::SampleProfileWriterText::write(), llvm::sampleprof::SampleProfileWriterBinary::writeBody(), and llvm::sampleprof::SampleProfileWriterBinary::writeNameIdx().
|
inline |
Definition at line 181 of file SampleProf.h.
Referenced by merge(), llvm::sampleprof::SampleProfileWriterText::write(), and llvm::sampleprof::SampleProfileWriterBinary::writeBody().
|
inline |
Return true if this sample record contains function calls.
Definition at line 179 of file SampleProf.h.
|
inline |
Merge the samples in Other
into this record.
Optionally scale sample counts by Weight
.
Definition at line 186 of file SampleProf.h.
References llvm::dump(), getCallTargets(), getSamples(), I, Indent, llvm::MergeResult(), llvm::operator<<(), and print().
void SampleRecord::print | ( | raw_ostream & | OS, |
unsigned | Indent | ||
) | const |
Print the sample record to the stream OS
indented by Indent
.
Definition at line 102 of file SampleProf.cpp.
References I.
Referenced by llvm::sampleprof::operator<<().