LLVM  14.0.0git
Classes | Public Member Functions | Static Public Member Functions | List of all members
llvm::sampleprof::SampleContext Class Reference

#include "llvm/ProfileData/SampleProf.h"

Classes

struct  Hash
 

Public Member Functions

 SampleContext ()
 
 SampleContext (StringRef Name)
 
 SampleContext (SampleContextFrames Context, ContextStateMask CState=RawContext)
 
 SampleContext (StringRef ContextStr, std::list< SampleContextFrameVector > &CSNameTable, ContextStateMask CState=RawContext)
 
void promoteOnPath (uint32_t ContextFramesToRemove)
 
 operator SampleContextFrames () const
 
bool hasAttribute (ContextAttributeMask A)
 
void setAttribute (ContextAttributeMask A)
 
uint32_t getAllAttributes ()
 
void setAllAttributes (uint32_t A)
 
bool hasState (ContextStateMask S)
 
void setState (ContextStateMask S)
 
void clearState (ContextStateMask S)
 
bool hasContext () const
 
bool isBaseContext () const
 
StringRef getName () const
 
SampleContextFrames getContextFrames () const
 
std::string toString () const
 
uint64_t getHashCode () const
 
void setName (StringRef FunctionName)
 Set the name of the function and clear the current context. More...
 
void setContext (SampleContextFrames Context, ContextStateMask CState=RawContext)
 
bool operator== (const SampleContext &That) const
 
bool operator!= (const SampleContext &That) const
 
bool operator< (const SampleContext &That) const
 
bool IsPrefixOf (const SampleContext &That) const
 

Static Public Member Functions

static void createCtxVectorFromStr (StringRef ContextStr, SampleContextFrameVector &Context)
 Create a context vector from a given context string and save it in Context. More...
 
static void decodeContextString (StringRef ContextStr, StringRef &FName, LineLocation &LineLoc)
 
static std::string getContextString (SampleContextFrames Context, bool IncludeLeafLineLocation=false)
 

Detailed Description

Definition at line 472 of file SampleProf.h.

Constructor & Destructor Documentation

◆ SampleContext() [1/4]

llvm::sampleprof::SampleContext::SampleContext ( )
inline

Definition at line 474 of file SampleProf.h.

◆ SampleContext() [2/4]

llvm::sampleprof::SampleContext::SampleContext ( StringRef  Name)
inline

Definition at line 476 of file SampleProf.h.

◆ SampleContext() [3/4]

llvm::sampleprof::SampleContext::SampleContext ( SampleContextFrames  Context,
ContextStateMask  CState = RawContext 
)
inline

Definition at line 479 of file SampleProf.h.

References assert(), Context, and setContext().

◆ SampleContext() [4/4]

llvm::sampleprof::SampleContext::SampleContext ( StringRef  ContextStr,
std::list< SampleContextFrameVector > &  CSNameTable,
ContextStateMask  CState = RawContext 
)
inline

Member Function Documentation

◆ clearState()

void llvm::sampleprof::SampleContext::clearState ( ContextStateMask  S)
inline

Definition at line 567 of file SampleProf.h.

References S.

◆ createCtxVectorFromStr()

static void llvm::sampleprof::SampleContext::createCtxVectorFromStr ( StringRef  ContextStr,
SampleContextFrameVector Context 
)
inlinestatic

Create a context vector from a given context string and save it in Context.

Definition at line 510 of file SampleProf.h.

References Context, decodeContextString(), llvm::StringRef::empty(), llvm::StringRef::size(), llvm::StringRef::split(), and llvm::StringRef::substr().

Referenced by SampleContext().

◆ decodeContextString()

static void llvm::sampleprof::SampleContext::decodeContextString ( StringRef  ContextStr,
StringRef FName,
LineLocation LineLoc 
)
inlinestatic

◆ getAllAttributes()

uint32_t llvm::sampleprof::SampleContext::getAllAttributes ( )
inline

◆ getContextFrames()

SampleContextFrames llvm::sampleprof::SampleContext::getContextFrames ( ) const
inline

Definition at line 571 of file SampleProf.h.

Referenced by getHashCode(), and llvm::sampleprof::hash_value().

◆ getContextString()

static std::string llvm::sampleprof::SampleContext::getContextString ( SampleContextFrames  Context,
bool  IncludeLeafLineLocation = false 
)
inlinestatic

Definition at line 573 of file SampleProf.h.

References Context, and I.

Referenced by toString().

◆ getHashCode()

uint64_t llvm::sampleprof::SampleContext::getHashCode ( ) const
inline

◆ getName()

StringRef llvm::sampleprof::SampleContext::getName ( ) const
inline

◆ hasAttribute()

bool llvm::sampleprof::SampleContext::hasAttribute ( ContextAttributeMask  A)
inline

Definition at line 561 of file SampleProf.h.

◆ hasContext()

bool llvm::sampleprof::SampleContext::hasContext ( ) const
inline

◆ hasState()

bool llvm::sampleprof::SampleContext::hasState ( ContextStateMask  S)
inline

Definition at line 565 of file SampleProf.h.

References S.

Referenced by llvm::SampleContextTracker::promoteMergeContextSamplesTree().

◆ isBaseContext()

bool llvm::sampleprof::SampleContext::isBaseContext ( ) const
inline

Definition at line 569 of file SampleProf.h.

References llvm::ArrayRef< T >::size().

◆ IsPrefixOf()

bool llvm::sampleprof::SampleContext::IsPrefixOf ( const SampleContext That) const
inline

◆ operator SampleContextFrames()

llvm::sampleprof::SampleContext::operator SampleContextFrames ( ) const
inline

Definition at line 560 of file SampleProf.h.

◆ operator!=()

bool llvm::sampleprof::SampleContext::operator!= ( const SampleContext That) const
inline

Definition at line 617 of file SampleProf.h.

◆ operator<()

bool llvm::sampleprof::SampleContext::operator< ( const SampleContext That) const
inline

◆ operator==()

bool llvm::sampleprof::SampleContext::operator== ( const SampleContext That) const
inline

Definition at line 612 of file SampleProf.h.

◆ promoteOnPath()

void llvm::sampleprof::SampleContext::promoteOnPath ( uint32_t  ContextFramesToRemove)
inline

◆ setAllAttributes()

void llvm::sampleprof::SampleContext::setAllAttributes ( uint32_t  A)
inline

◆ setAttribute()

void llvm::sampleprof::SampleContext::setAttribute ( ContextAttributeMask  A)
inline

Definition at line 562 of file SampleProf.h.

◆ setContext()

void llvm::sampleprof::SampleContext::setContext ( SampleContextFrames  Context,
ContextStateMask  CState = RawContext 
)
inline

Definition at line 604 of file SampleProf.h.

References assert(), Context, and llvm::sampleprof::UnknownContext.

Referenced by SampleContext().

◆ setName()

void llvm::sampleprof::SampleContext::setName ( StringRef  FunctionName)
inline

Set the name of the function and clear the current context.

Definition at line 598 of file SampleProf.h.

References llvm::sampleprof::UnknownContext.

Referenced by llvm::sampleprof::FunctionSamples::setName().

◆ setState()

void llvm::sampleprof::SampleContext::setState ( ContextStateMask  S)
inline

◆ toString()

std::string llvm::sampleprof::SampleContext::toString ( ) const
inline

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