class GCFunctionInfo

Declaration

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

Description

Garbage collection metadata for a single function. Currently, this information only applies to GCStrategies which use GCRoot.

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:77

Method Overview

  • public GCFunctionInfo(const llvm::Function & F, llvm::GCStrategy & S)
  • public void addSafePoint(llvm::MCSymbol * Label, const llvm::DebugLoc & DL)
  • public void addStackRoot(int Num, const llvm::Constant * Metadata)
  • public llvm::GCFunctionInfo::iterator begin()
  • public llvm::GCFunctionInfo::iterator end()
  • public uint64_t getFrameSize() const
  • public const llvm::Function & getFunction() const
  • public llvm::GCStrategy & getStrategy()
  • public llvm::GCFunctionInfo::live_iterator live_begin(const llvm::GCFunctionInfo::iterator & p)
  • public llvm::GCFunctionInfo::live_iterator live_end(const llvm::GCFunctionInfo::iterator & p)
  • public size_t live_size(const llvm::GCFunctionInfo::iterator & p) const
  • public llvm::GCFunctionInfo::roots_iterator removeStackRoot(llvm::GCFunctionInfo::roots_iterator position)
  • public llvm::GCFunctionInfo::roots_iterator roots_begin()
  • public llvm::GCFunctionInfo::roots_iterator roots_end()
  • public size_t roots_size() const
  • public void setFrameSize(uint64_t S)
  • public size_t size() const
  • public ~GCFunctionInfo()

Methods

GCFunctionInfo(const llvm::Function& F,
               llvm::GCStrategy& S)

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:101

Parameters

const llvm::Function& F
llvm::GCStrategy& S

void addSafePoint(llvm::MCSymbol* Label,
                  const llvm::DebugLoc& DL)

Description

addSafePoint - Notes the existence of a safe point. Num is the ID of the label just prior to the safe point (if the code generator is using MachineModuleInfo).

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:125

Parameters

llvm::MCSymbol* Label
const llvm::DebugLoc& DL

void addStackRoot(int Num,
                  const llvm::Constant* Metadata)

Description

addStackRoot - Registers a root that lives on the stack. Num is the stack object ID for the alloca (if the code generator is

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:113

Parameters

int Num
const llvm::Constant* Metadata

llvm::GCFunctionInfo::iterator begin()

Description

begin/end - Iterators for safe points.

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:134

llvm::GCFunctionInfo::iterator end()

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:135

uint64_t getFrameSize() const

Description

getFrameSize/setFrameSize - Records the function's frame size.

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:130

const llvm::Function& getFunction() const

Description

getFunction - Return the function to which this metadata applies.

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:105

llvm::GCStrategy& getStrategy()

Description

getStrategy - Return the GC strategy for the function.

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:108

llvm::GCFunctionInfo::live_iterator live_begin(
    const llvm::GCFunctionInfo::iterator& p)

Description

live_begin/live_end - Iterators for live roots at a given safe point.

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:144

Parameters

const llvm::GCFunctionInfo::iterator& p

llvm::GCFunctionInfo::live_iterator live_end(
    const llvm::GCFunctionInfo::iterator& p)

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:145

Parameters

const llvm::GCFunctionInfo::iterator& p

size_t live_size(
    const llvm::GCFunctionInfo::iterator& p) const

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:146

Parameters

const llvm::GCFunctionInfo::iterator& p

llvm::GCFunctionInfo::roots_iterator
removeStackRoot(
    llvm::GCFunctionInfo::roots_iterator position)

Description

removeStackRoot - Removes a root.

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:118

Parameters

llvm::GCFunctionInfo::roots_iterator position

llvm::GCFunctionInfo::roots_iterator roots_begin()

Description

roots_begin/roots_end - Iterators for all roots in the function.

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:139

llvm::GCFunctionInfo::roots_iterator roots_end()

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:140

size_t roots_size() const

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:141

void setFrameSize(uint64_t S)

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:131

Parameters

uint64_t S

size_t size() const

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:136

~GCFunctionInfo()

Declared at: llvm/include/llvm/CodeGen/GCMetadata.h:102