LLVM 20.0.0git
|
A node (context) in the loaded contextual profile, suitable for mutation during IPO passes. More...
#include "llvm/ProfileData/PGOCtxProfReader.h"
Public Types | |
using | CallTargetMapTy = std::map< GlobalValue::GUID, PGOCtxProfContext > |
using | CallsiteMapTy = DenseMap< uint32_t, CallTargetMapTy > |
Public Member Functions | |
PGOCtxProfContext (const PGOCtxProfContext &)=delete | |
PGOCtxProfContext & | operator= (const PGOCtxProfContext &)=delete |
PGOCtxProfContext (PGOCtxProfContext &&)=default | |
PGOCtxProfContext & | operator= (PGOCtxProfContext &&)=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 |
A node (context) in the loaded contextual profile, suitable for mutation during IPO passes.
We generally expect a fraction of counters and 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::PGOCtxProfContext::CallTargetMapTy = std::map<GlobalValue::GUID, PGOCtxProfContext> |
Definition at line 36 of file PGOCtxProfReader.h.
|
delete |
|
default |
|
inline |
Definition at line 67 of file PGOCtxProfReader.h.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), hasCallsite(), and I.
|
inline |
Definition at line 61 of file PGOCtxProfReader.h.
|
inline |
Definition at line 60 of file PGOCtxProfReader.h.
|
inline |
Definition at line 59 of file PGOCtxProfReader.h.
References llvm::Counters.
Referenced by llvm::PGOContextualProfile::flatten().
void PGOCtxProfContext::getContainedGuids | ( | DenseSet< GlobalValue::GUID > & | Guids | ) | const |
Definition at line 47 of file PGOCtxProfReader.cpp.
References _, and llvm::detail::DenseSetImpl< ValueT, MapTy, ValueInfoT >::insert().
|
inline |
Definition at line 58 of file PGOCtxProfReader.h.
Referenced by llvm::PGOContextualProfile::flatten().
Definition at line 63 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.