class ContextTrieNode

Declaration

class ContextTrieNode { /* full declaration omitted */ };

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:34

Member Variables

private std::map<uint64_t, ContextTrieNode> AllChildContext
private llvm::ContextTrieNode* ParentContext
private llvm::StringRef FuncName
private llvm::sampleprof::FunctionSamples* FuncSamples
private Optional<uint32_t> FuncSize
private llvm::sampleprof::LineLocation CallSiteLoc

Method Overview

  • public ContextTrieNode(llvm::ContextTrieNode * Parent = nullptr, llvm::StringRef FName = llvm::StringRef(), llvm::sampleprof::FunctionSamples * FSamples = nullptr, llvm::sampleprof::LineLocation CallLoc = {0, 0})
  • public void addFunctionSize(uint32_t FSize)
  • public void dumpNode()
  • public void dumpTree()
  • public std::map<uint64_t, ContextTrieNode> & getAllChildContext()
  • public llvm::sampleprof::LineLocation getCallSiteLoc() const
  • public llvm::ContextTrieNode * getChildContext(const llvm::sampleprof::LineLocation & CallSite, llvm::StringRef ChildName)
  • public llvm::StringRef getFuncName() const
  • public llvm::sampleprof::FunctionSamples * getFunctionSamples() const
  • public Optional<uint32_t> getFunctionSize() const
  • public llvm::ContextTrieNode * getHottestChildContext(const llvm::sampleprof::LineLocation & CallSite)
  • public llvm::ContextTrieNode * getOrCreateChildContext(const llvm::sampleprof::LineLocation & CallSite, llvm::StringRef ChildName, bool AllowCreate = true)
  • public llvm::ContextTrieNode * getParentContext() const
  • public void removeChildContext(const llvm::sampleprof::LineLocation & CallSite, llvm::StringRef ChildName)
  • public void setCallSiteLoc(const llvm::sampleprof::LineLocation & Loc)
  • public void setFunctionSamples(llvm::sampleprof::FunctionSamples * FSamples)
  • public void setParentContext(llvm::ContextTrieNode * Parent)

Methods

ContextTrieNode(
    llvm::ContextTrieNode* Parent = nullptr,
    llvm::StringRef FName = llvm::StringRef(),
    llvm::sampleprof::FunctionSamples* FSamples =
        nullptr,
    llvm::sampleprof::LineLocation CallLoc = {0,
                                              0})

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:36

Parameters

llvm::ContextTrieNode* Parent = nullptr
llvm::StringRef FName = llvm::StringRef()
llvm::sampleprof::FunctionSamples* FSamples = nullptr
llvm::sampleprof::LineLocation CallLoc = {0, 0}

void addFunctionSize(uint32_t FSize)

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:54

Parameters

uint32_t FSize

void dumpNode()

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:59

void dumpTree()

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:60

std::map<uint64_t, ContextTrieNode>&
getAllChildContext()

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:49

llvm::sampleprof::LineLocation getCallSiteLoc()
    const

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:55

llvm::ContextTrieNode* getChildContext(
    const llvm::sampleprof::LineLocation&
        CallSite,
    llvm::StringRef ChildName)

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:42

Parameters

const llvm::sampleprof::LineLocation& CallSite
llvm::StringRef ChildName

llvm::StringRef getFuncName() const

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:50

llvm::sampleprof::FunctionSamples*
getFunctionSamples() const

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:51

Optional<uint32_t> getFunctionSize() const

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:53

llvm::ContextTrieNode* getHottestChildContext(
    const llvm::sampleprof::LineLocation&
        CallSite)

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:44

Parameters

const llvm::sampleprof::LineLocation& CallSite

llvm::ContextTrieNode* getOrCreateChildContext(
    const llvm::sampleprof::LineLocation&
        CallSite,
    llvm::StringRef ChildName,
    bool AllowCreate = true)

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:45

Parameters

const llvm::sampleprof::LineLocation& CallSite
llvm::StringRef ChildName
bool AllowCreate = true

llvm::ContextTrieNode* getParentContext() const

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:56

void removeChildContext(
    const llvm::sampleprof::LineLocation&
        CallSite,
    llvm::StringRef ChildName)

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:48

Parameters

const llvm::sampleprof::LineLocation& CallSite
llvm::StringRef ChildName

void setCallSiteLoc(
    const llvm::sampleprof::LineLocation& Loc)

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:58

Parameters

const llvm::sampleprof::LineLocation& Loc

void setFunctionSamples(
    llvm::sampleprof::FunctionSamples* FSamples)

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:52

Parameters

llvm::sampleprof::FunctionSamples* FSamples

void setParentContext(
    llvm::ContextTrieNode* Parent)

Declared at: llvm/include/llvm/Transforms/IPO/SampleContextTracker.h:57

Parameters

llvm::ContextTrieNode* Parent