LLVM
8.0.1
|
Garbage collection metadata for a single function. More...
#include "llvm/CodeGen/GCMetadata.h"
Public Types | |
using | iterator = std::vector< GCPoint >::iterator |
using | roots_iterator = std::vector< GCRoot >::iterator |
using | live_iterator = std::vector< GCRoot >::const_iterator |
Public Member Functions | |
GCFunctionInfo (const Function &F, GCStrategy &S) | |
~GCFunctionInfo () | |
const Function & | getFunction () const |
getFunction - Return the function to which this metadata applies. More... | |
GCStrategy & | getStrategy () |
getStrategy - Return the GC strategy for the function. More... | |
void | addStackRoot (int Num, const Constant *Metadata) |
addStackRoot - Registers a root that lives on the stack. More... | |
roots_iterator | removeStackRoot (roots_iterator position) |
removeStackRoot - Removes a root. More... | |
void | addSafePoint (MCSymbol *Label, const DebugLoc &DL) |
addSafePoint - Notes the existence of a safe point. More... | |
uint64_t | getFrameSize () const |
getFrameSize/setFrameSize - Records the function's frame size. More... | |
void | setFrameSize (uint64_t S) |
iterator | begin () |
begin/end - Iterators for safe points. More... | |
iterator | end () |
size_t | size () const |
roots_iterator | roots_begin () |
roots_begin/roots_end - Iterators for all roots in the function. More... | |
roots_iterator | roots_end () |
size_t | roots_size () const |
live_iterator | live_begin (const iterator &p) |
live_begin/live_end - Iterators for live roots at a given safe point. More... | |
live_iterator | live_end (const iterator &p) |
size_t | live_size (const iterator &p) const |
Garbage collection metadata for a single function.
Currently, this information only applies to GCStrategies which use GCRoot.
Definition at line 78 of file GCMetadata.h.
using llvm::GCFunctionInfo::iterator = std::vector<GCPoint>::iterator |
Definition at line 80 of file GCMetadata.h.
using llvm::GCFunctionInfo::live_iterator = std::vector<GCRoot>::const_iterator |
Definition at line 82 of file GCMetadata.h.
using llvm::GCFunctionInfo::roots_iterator = std::vector<GCRoot>::iterator |
Definition at line 81 of file GCMetadata.h.
llvm::GCFunctionInfo::GCFunctionInfo | ( | const Function & | F, |
GCStrategy & | S | ||
) |
|
default |
Referenced by INITIALIZE_PASS().
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).
Definition at line 126 of file GCMetadata.h.
addStackRoot - Registers a root that lives on the stack.
Num is the stack object ID for the alloca (if the code generator is
Definition at line 114 of file GCMetadata.h.
|
inline |
begin/end - Iterators for safe points.
Definition at line 135 of file GCMetadata.h.
Referenced by llvm::createGCInfoPrinter(), and EmitCamlGlobal().
|
inline |
Definition at line 136 of file GCMetadata.h.
Referenced by llvm::createGCInfoPrinter(), and EmitCamlGlobal().
|
inline |
getFrameSize/setFrameSize - Records the function's frame size.
Definition at line 131 of file GCMetadata.h.
Referenced by EmitCamlGlobal().
getFunction - Return the function to which this metadata applies.
Definition at line 106 of file GCMetadata.h.
References F().
Referenced by llvm::createGCInfoPrinter(), and EmitCamlGlobal().
|
inline |
getStrategy - Return the GC strategy for the function.
Definition at line 109 of file GCMetadata.h.
Referenced by EmitCamlGlobal(), and InsertRootInitializers().
|
inline |
live_begin/live_end - Iterators for live roots at a given safe point.
Definition at line 145 of file GCMetadata.h.
Referenced by llvm::createGCInfoPrinter(), and EmitCamlGlobal().
|
inline |
Definition at line 146 of file GCMetadata.h.
Referenced by llvm::createGCInfoPrinter(), and EmitCamlGlobal().
Definition at line 147 of file GCMetadata.h.
Referenced by EmitCamlGlobal().
|
inline |
removeStackRoot - Removes a root.
Definition at line 119 of file GCMetadata.h.
|
inline |
roots_begin/roots_end - Iterators for all roots in the function.
Definition at line 140 of file GCMetadata.h.
Referenced by llvm::createGCInfoPrinter().
|
inline |
Definition at line 141 of file GCMetadata.h.
Referenced by llvm::createGCInfoPrinter().
|
inline |
Definition at line 142 of file GCMetadata.h.
|
inline |
Definition at line 132 of file GCMetadata.h.
|
inline |
Definition at line 137 of file GCMetadata.h.