LLVM 19.0.0git
|
The loaded contextual profile, suitable for mutation during IPO passes. More...
#include "llvm/ProfileData/PGOCtxProfReader.h"
Public Types | |
using | CallTargetMapTy = std::map< GlobalValue::GUID, PGOContextualProfile > |
using | CallsiteMapTy = DenseMap< uint32_t, CallTargetMapTy > |
Public Member Functions | |
PGOContextualProfile (const PGOContextualProfile &)=delete | |
PGOContextualProfile & | operator= (const PGOContextualProfile &)=delete |
PGOContextualProfile (PGOContextualProfile &&)=default | |
PGOContextualProfile & | operator= (PGOContextualProfile &&)=default |
GlobalValue::GUID | guid () const |
const SmallVectorImpl< uint64_t > & | counters () const |
const CallsiteMapTy & | callsites () const |
CallsiteMapTy & | callsites () |
bool | hasCallsite (uint32_t I) const |
const CallTargetMapTy & | callsite (uint32_t I) const |
void | getContainedGuids (DenseSet< GlobalValue::GUID > &Guids) const |
Friends | |
class | PGOCtxProfileReader |
The loaded contextual profile, suitable for mutation during IPO passes.
We generally expect a fraction of counters and of callsites to be populated. We continue to model counters as vectors, but callsites are modeled as a map of a map. The expectation is that, typically, there is a small number of indirect targets (usually, 1 for direct calls); but potentially a large number of callsites, and, as inlining progresses, the callsite count of a caller will grow.
Definition at line 34 of file PGOCtxProfReader.h.
Definition at line 37 of file PGOCtxProfReader.h.
using llvm::PGOContextualProfile::CallTargetMapTy = std::map<GlobalValue::GUID, PGOContextualProfile> |
Definition at line 36 of file PGOCtxProfReader.h.
|
delete |
|
default |
|
inline |
Definition at line 68 of file PGOCtxProfReader.h.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), hasCallsite(), and I.
|
inline |
Definition at line 62 of file PGOCtxProfReader.h.
|
inline |
Definition at line 61 of file PGOCtxProfReader.h.
|
inline |
Definition at line 60 of file PGOCtxProfReader.h.
References llvm::Counters.
void PGOContextualProfile::getContainedGuids | ( | DenseSet< GlobalValue::GUID > & | Guids | ) | const |
Definition at line 46 of file PGOCtxProfReader.cpp.
References _, and llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert().
|
inline |
Definition at line 59 of file PGOCtxProfReader.h.
Definition at line 64 of file PGOCtxProfReader.h.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and I.
Referenced by callsite().
|
delete |
|
default |
|
friend |
Definition at line 40 of file PGOCtxProfReader.h.