LLVM 20.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 (FunctionId Func)
 
 SampleContext (SampleContextFrames Context, ContextStateMask CState=RawContext)
 
 SampleContext (StringRef ContextStr, std::list< SampleContextFrameVector > &CSNameTable, ContextStateMask CState=RawContext)
 
 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
 
FunctionId getFunction () const
 
SampleContextFrames getContextFrames () const
 
std::string toString () const
 
uint64_t getHashCode () const
 
void setFunction (FunctionId NewFunctionID)
 Set the name of the function and clear the current context.
 
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.
 
static void decodeContextString (StringRef ContextStr, FunctionId &Func, LineLocation &LineLoc)
 
static std::string getContextString (SampleContextFrames Context, bool IncludeLeafLineLocation=false)
 

Detailed Description

Definition at line 523 of file SampleProf.h.

Constructor & Destructor Documentation

◆ SampleContext() [1/5]

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

Definition at line 525 of file SampleProf.h.

◆ SampleContext() [2/5]

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

Definition at line 527 of file SampleProf.h.

References assert(), and Name.

◆ SampleContext() [3/5]

llvm::sampleprof::SampleContext::SampleContext ( FunctionId  Func)
inline

Definition at line 532 of file SampleProf.h.

◆ SampleContext() [4/5]

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

Definition at line 535 of file SampleProf.h.

References assert(), llvm::ArrayRef< T >::empty(), and setContext().

◆ SampleContext() [5/5]

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 614 of file SampleProf.h.

◆ 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 566 of file SampleProf.h.

References decodeContextString(), llvm::SmallVectorImpl< T >::emplace_back(), 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,
FunctionId Func,
LineLocation LineLoc 
)
inlinestatic

◆ getAllAttributes()

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

◆ getContextFrames()

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

◆ getContextString()

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

Definition at line 620 of file SampleProf.h.

References I, and llvm::ArrayRef< T >::size().

Referenced by llvm::SampleContextTracker::getContextString(), and toString().

◆ getFunction()

FunctionId llvm::sampleprof::SampleContext::getFunction ( ) const
inline

◆ getHashCode()

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

◆ hasAttribute()

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

Definition at line 608 of file SampleProf.h.

References A.

◆ hasContext()

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

◆ hasState()

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

◆ isBaseContext()

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

◆ isPrefixOf()

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

◆ operator SampleContextFrames()

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

Definition at line 607 of file SampleProf.h.

◆ operator!=()

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

Definition at line 665 of file SampleProf.h.

◆ operator<()

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

Definition at line 667 of file SampleProf.h.

References hasContext(), I, and llvm::ArrayRef< T >::size().

◆ operator==()

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

Definition at line 660 of file SampleProf.h.

◆ setAllAttributes()

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

◆ setAttribute()

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

Definition at line 609 of file SampleProf.h.

References A.

◆ setContext()

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

◆ setFunction()

void llvm::sampleprof::SampleContext::setFunction ( FunctionId  NewFunctionID)
inline

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

Definition at line 646 of file SampleProf.h.

References llvm::sampleprof::UnknownContext.

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

◆ 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: