class GCModuleInfo

Declaration

class GCModuleInfo : public ImmutablePass { /* full declaration omitted */ };

Description

An analysis pass which caches information about the entire Module. Records both the function level information used by GCRoots and a cache of the 'active' gc strategy objects for the current Module.

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

Inherits from: ImmutablePass

Member Variables

private SmallVector<std::unique_ptr<GCStrategy>, 1> GCStrategyList
An owning list of all GCStrategies which have been created
private StringMap<llvm::GCStrategy*> GCStrategyMap
A helper map to speedup lookups into the above list
private llvm::GCModuleInfo::FuncInfoVec Functions
Owning list of all GCFunctionInfos associated with this Module
private llvm::GCModuleInfo::finfo_map_type FInfoMap
public static char ID

Method Overview

Inherited from ImmutablePass:

Inherited from ModulePass:

Inherited from Pass:

Methods

GCModuleInfo()

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

llvm::GCModuleInfo::iterator begin() const

Description

begin/end - Iterators for used strategies.

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

void clear()

Description

clear - Resets the pass. Any pass, which uses GCModuleInfo, should call it in doFinalization().

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

llvm::GCModuleInfo::iterator end() const

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

FuncInfoVec::iterator funcinfo_begin()

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

FuncInfoVec::iterator funcinfo_end()

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

llvm::GCFunctionInfo& getFunctionInfo(
    const llvm::Function& F)

Description

get - Look up function metadata. This is currently assumed have the side effect of initializing the associated GCStrategy. That will soon change.

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

Parameters

const llvm::Function& F

llvm::GCStrategy* getGCStrategy(
    const llvm::StringRef Name)

Description

Lookup the GCStrategy object associated with the given gc name. Objects are owned internally; No caller should attempt to delete the returned objects.

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

Parameters

const llvm::StringRef Name