|
LLVM
4.0.0
|
Profiling information for a single function. More...
#include <InstrProf.h>
Public Types | |
| typedef std::vector< std::pair < uint64_t, uint64_t > > | ValueMapType |
Public Member Functions | |
| InstrProfRecord () | |
| InstrProfRecord (StringRef Name, uint64_t Hash, std::vector< uint64_t > Counts) | |
| uint32_t | getNumValueKinds () const |
| Return the number of value profile kinds with non-zero number of profile sites. More... | |
| uint32_t | getNumValueSites (uint32_t ValueKind) const |
| Return the number of instrumented sites for ValueKind. More... | |
| uint32_t | getNumValueData (uint32_t ValueKind) const |
| Return the total number of ValueData for ValueKind. More... | |
| uint32_t | getNumValueDataForSite (uint32_t ValueKind, uint32_t Site) const |
| Return the number of value data collected for ValueKind at profiling site: Site. More... | |
| std::unique_ptr < InstrProfValueData[]> | getValueForSite (uint32_t ValueKind, uint32_t Site, uint64_t *TotalC=0) const |
Return the array of profiled values at Site. More... | |
| uint64_t | getValueForSite (InstrProfValueData Dest[], uint32_t ValueKind, uint32_t Site) const |
Get the target value/counts of kind ValueKind collected at site Site and store the result in array Dest. More... | |
| void | reserveSites (uint32_t ValueKind, uint32_t NumValueSites) |
| Reserve space for NumValueSites sites. More... | |
| void | addValueData (uint32_t ValueKind, uint32_t Site, InstrProfValueData *VData, uint32_t N, ValueMapType *ValueMap) |
| Add ValueData for ValueKind at value Site. More... | |
| void | merge (InstrProfRecord &Other, uint64_t Weight=1) |
Merge the counts in Other into this one. More... | |
| void | scale (uint64_t Weight) |
Scale up profile counts (including value profile data) by Weight. More... | |
| void | sortValueData () |
| Sort value profile data (per site) by count. More... | |
| void | clearValueData () |
| Clear value data entries. More... | |
| Error | takeError () |
| Get the error contained within the record's soft error counter. More... | |
Public Attributes | |
| StringRef | Name |
| uint64_t | Hash |
| std::vector< uint64_t > | Counts |
| SoftInstrProfErrors | SIPE |
Profiling information for a single function.
Definition at line 581 of file InstrProf.h.
| typedef std::vector<std::pair<uint64_t, uint64_t> > llvm::InstrProfRecord::ValueMapType |
Definition at line 590 of file InstrProf.h.
|
inline |
Definition at line 582 of file InstrProf.h.
|
inline |
Definition at line 583 of file InstrProf.h.
| void llvm::InstrProfRecord::addValueData | ( | uint32_t | ValueKind, |
| uint32_t | Site, | ||
| InstrProfValueData * | VData, | ||
| uint32_t | N, | ||
| ValueMapType * | ValueMap | ||
| ) |
Add ValueData for ValueKind at value Site.
Definition at line 458 of file InstrProf.cpp.
|
inline |
Return the total number of ValueData for ValueKind.
Definition at line 686 of file InstrProf.h.
References N.
|
inline |
Return the number of value data collected for ValueKind at profiling site: Site.
Definition at line 700 of file InstrProf.h.
Referenced by llvm::annotateValueSite(), getValueForSite(), and llvm::InstrProfWriter::writeRecordInText().
|
inline |
Return the number of value profile kinds with non-zero number of profile sites.
Definition at line 679 of file InstrProf.h.
References Kind.
Referenced by llvm::InstrProfWriter::writeRecordInText().
Return the number of instrumented sites for ValueKind.
Definition at line 696 of file InstrProf.h.
Referenced by llvm::InstrProfWriter::writeRecordInText().
|
inline |
Return the array of profiled values at Site.
If TotalC is not null, the total count of all target values at this site will be stored in *TotalC.
Definition at line 706 of file InstrProf.h.
References llvm::NVPTXISD::Dummy, getNumValueDataForSite(), and N.
Referenced by llvm::annotateValueSite(), and llvm::InstrProfWriter::writeRecordInText().
|
inline |
Get the target value/counts of kind ValueKind collected at site Site and store the result in array Dest.
Return the total counts of all target values at this site.
Definition at line 722 of file InstrProf.h.
References I, and llvm::SaturatingAdd().
| void llvm::InstrProfRecord::merge | ( | InstrProfRecord & | Other, |
| uint64_t | Weight = 1 |
||
| ) |
Merge the counts in Other into this one.
Optionally scale merged counts by Weight.
Definition at line 394 of file InstrProf.cpp.
References llvm::SoftInstrProfErrors::addError(), llvm::count_mismatch, llvm::counter_overflow, Counts, E, I, Kind, llvm::SaturatingMultiplyAdd(), and SIPE.
Referenced by llvm::InstrProfWriter::addRecord().
Reserve space for NumValueSites sites.
Definition at line 736 of file InstrProf.h.
| void llvm::InstrProfRecord::scale | ( | uint64_t | Weight | ) |
Scale up profile counts (including value profile data) by Weight.
Definition at line 422 of file InstrProf.cpp.
References llvm::SoftInstrProfErrors::addError(), llvm::counter_overflow, Counts, Kind, llvm::SaturatingMultiply(), and SIPE.
Referenced by llvm::InstrProfWriter::addRecord().
|
inline |
Sort value profile data (per site) by count.
Definition at line 630 of file InstrProf.h.
References Kind.
Referenced by llvm::InstrProfWriter::addRecord().
|
inline |
Get the error contained within the record's soft error counter.
Definition at line 645 of file InstrProf.h.
References SIPE, and llvm::SoftInstrProfErrors::takeError().
Referenced by llvm::InstrProfWriter::addRecord().
| std::vector<uint64_t> llvm::InstrProfRecord::Counts |
Definition at line 587 of file InstrProf.h.
Referenced by llvm::InstrProfSummaryBuilder::addRecord(), llvm::InstrProfRecordWriterTrait::EmitData(), llvm::InstrProfRecordWriterTrait::EmitKeyDataLength(), merge(), llvm::TextInstrProfReader::readNextRecord(), scale(), and llvm::InstrProfWriter::writeRecordInText().
| uint64_t llvm::InstrProfRecord::Hash |
Definition at line 586 of file InstrProf.h.
Referenced by llvm::TextInstrProfReader::readNextRecord(), and llvm::InstrProfWriter::writeRecordInText().
| StringRef llvm::InstrProfRecord::Name |
Definition at line 585 of file InstrProf.h.
Referenced by llvm::InstrProfWriter::addRecord(), llvm::TextInstrProfReader::readNextRecord(), and llvm::InstrProfWriter::writeRecordInText().
| SoftInstrProfErrors llvm::InstrProfRecord::SIPE |
Definition at line 588 of file InstrProf.h.
Referenced by merge(), scale(), and takeError().
1.8.6