|
LLVM
4.0.0
|
Representation of a single sample record. More...
#include <SampleProf.h>
Public Types | |
| typedef StringMap< uint64_t > | CallTargetMap |
Public Member Functions | |
| SampleRecord () | |
| 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 113 of file SampleProf.h.
| typedef StringMap<uint64_t> llvm::sampleprof::SampleRecord::CallTargetMap |
Definition at line 115 of file SampleProf.h.
|
inline |
Definition at line 117 of file SampleProf.h.
|
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 136 of file SampleProf.h.
References llvm::counter_overflow, F, llvm::SaturatingMultiplyAdd(), and llvm::success.
Referenced by merge().
|
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 124 of file SampleProf.h.
References llvm::counter_overflow, llvm::SaturatingMultiplyAdd(), and llvm::success.
Referenced by merge().
| LLVM_DUMP_METHOD void SampleRecord::dump | ( | ) | const |
Definition at line 90 of file SampleProf.cpp.
References llvm::dbgs().
|
inline |
Definition at line 150 of file SampleProf.h.
Referenced by merge(), llvm::sampleprof::SampleProfileWriterText::write(), and llvm::sampleprof::SampleProfileWriterBinary::writeBody().
|
inline |
Definition at line 149 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 147 of file SampleProf.h.
References llvm::StringMapImpl::size().
|
inline |
Merge the samples in Other into this record.
Optionally scale sample counts by Weight.
Definition at line 154 of file SampleProf.h.
References addCalledTarget(), addSamples(), getCallTargets(), getSamples(), I, and llvm::MergeResult().
| void SampleRecord::print | ( | raw_ostream & | OS, |
| unsigned | Indent | ||
| ) | const |
Print the sample record to the stream OS indented by Indent.
Definition at line 80 of file SampleProf.cpp.
References I.
Referenced by llvm::sampleprof::operator<<().
1.8.6