LLVM: llvm::PGOCtxProfContext Class Reference (original) (raw)

A node (context) in the loaded contextual profile, suitable for mutation during IPO passes. More...

#include "[llvm/ProfileData/PGOCtxProfReader.h](PGOCtxProfReader%5F8h%5Fsource.html)"

Public Member Functions
PGOCtxProfContext (const PGOCtxProfContext &)=delete
PGOCtxProfContext & operator= (const PGOCtxProfContext &)=delete
PGOCtxProfContext (PGOCtxProfContext &&)=default
PGOCtxProfContext & operator= (PGOCtxProfContext &&)=delete
GlobalValue::GUID guid () const
const SmallVectorImpl< uint64_t > & counters () const
SmallVectorImpl< uint64_t > & counters ()
bool isRoot () const
uint64_t getTotalRootEntryCount () const
const CtxProfFlatProfile & getUnhandled () const
uint64_t getEntrycount () const
const CallsiteMapTy & callsites () const
CallsiteMapTy & callsites ()
void ingestContext (uint32_t CSId, PGOCtxProfContext &&Other)
void ingestAllContexts (uint32_t CSId, CallTargetMapTy &&Other)
void resizeCounters (uint32_t Size)
bool hasCallsite (uint32_t I) const
const CallTargetMapTy & callsite (uint32_t I) const
CallTargetMapTy & callsite (uint32_t I)
template
void getContainedGuids (TSetOfGUIDs &Guids) const
Insert this node's GUID as well as the GUIDs of the transitive closure of child nodes, into the provided set (technically, all that is required of TSetOfGUIDs is to have an insert(GUID) member)
Friends
class PGOCtxProfileReader
class PGOContextualProfile

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 91 of file PGOCtxProfReader.h.

CallsiteMapTy

CallTargetMapTy

PGOCtxProfContext() [2/2]

callsite() [1/2]

CallTargetMapTy & llvm::PGOCtxProfContext::callsite ( uint32_t I) inline

callsite() [2/2]

callsites() [1/2]

CallsiteMapTy & llvm::PGOCtxProfContext::callsites ( ) inline

callsites() [2/2]

const CallsiteMapTy & llvm::PGOCtxProfContext::callsites ( ) const inline

counters() [1/2]

counters() [2/2]

getContainedGuids()

template

void llvm::PGOCtxProfContext::getContainedGuids ( TSetOfGUIDs & Guids) const inline

Insert this node's GUID as well as the GUIDs of the transitive closure of child nodes, into the provided set (technically, all that is required of TSetOfGUIDs is to have an insert(GUID) member)

Definition at line 179 of file PGOCtxProfReader.h.

References _.

getEntrycount()

uint64_t llvm::PGOCtxProfContext::getEntrycount ( ) const inline

getTotalRootEntryCount()

uint64_t llvm::PGOCtxProfContext::getTotalRootEntryCount ( ) const inline

getUnhandled()

guid()

hasCallsite()

bool llvm::PGOCtxProfContext::hasCallsite ( uint32_t I) const inline

ingestAllContexts()

void llvm::PGOCtxProfContext::ingestAllContexts ( uint32_t CSId, CallTargetMapTy && Other ) inline

ingestContext()

isRoot()

bool llvm::PGOCtxProfContext::isRoot ( ) const inline

operator=() [1/2]

operator=() [2/2]

resizeCounters()

void llvm::PGOCtxProfContext::resizeCounters ( uint32_t Size) inline

PGOContextualProfile

PGOCtxProfileReader


The documentation for this class was generated from the following files: