LLVM 20.0.0git
Classes | Public Types | Public Member Functions | List of all members
llvm::orc::SectCreateMaterializationUnit Class Reference

#include "llvm/ExecutionEngine/Orc/SectCreate.h"

Inheritance diagram for llvm::orc::SectCreateMaterializationUnit:
Inheritance graph
[legend]

Classes

struct  ExtraSymbolInfo
 

Public Types

using ExtraSymbolsMap = DenseMap< SymbolStringPtr, ExtraSymbolInfo >
 

Public Member Functions

 SectCreateMaterializationUnit (ObjectLinkingLayer &ObjLinkingLayer, std::string SectName, MemProt MP, uint64_t Alignment, std::unique_ptr< MemoryBuffer > Data, ExtraSymbolsMap ExtraSymbols=ExtraSymbolsMap())
 
StringRef getName () const override
 Return the name of this materialization unit.
 
void materialize (std::unique_ptr< MaterializationResponsibility > R) override
 Implementations of this method should materialize all symbols in the materialzation unit, except for those that have been previously discarded.
 
- Public Member Functions inherited from llvm::orc::MaterializationUnit
 MaterializationUnit (Interface I)
 
virtual ~MaterializationUnit ()=default
 
virtual StringRef getName () const =0
 Return the name of this materialization unit.
 
const SymbolFlagsMapgetSymbols () const
 Return the set of symbols that this source provides.
 
const SymbolStringPtrgetInitializerSymbol () const
 Returns the initialization symbol for this MaterializationUnit (if any).
 
virtual void materialize (std::unique_ptr< MaterializationResponsibility > R)=0
 Implementations of this method should materialize all symbols in the materialzation unit, except for those that have been previously discarded.
 
void doDiscard (const JITDylib &JD, const SymbolStringPtr &Name)
 Called by JITDylibs to notify MaterializationUnits that the given symbol has been overridden.
 

Additional Inherited Members

- Static Public Attributes inherited from llvm::orc::MaterializationUnit
static char ID
 
- Protected Attributes inherited from llvm::orc::MaterializationUnit
SymbolFlagsMap SymbolFlags
 
SymbolStringPtr InitSymbol
 

Detailed Description

Definition at line 24 of file SectCreate.h.

Member Typedef Documentation

◆ ExtraSymbolsMap

Definition at line 31 of file SectCreate.h.

Constructor & Destructor Documentation

◆ SectCreateMaterializationUnit()

llvm::orc::SectCreateMaterializationUnit::SectCreateMaterializationUnit ( ObjectLinkingLayer ObjLinkingLayer,
std::string  SectName,
MemProt  MP,
uint64_t  Alignment,
std::unique_ptr< MemoryBuffer Data,
ExtraSymbolsMap  ExtraSymbols = ExtraSymbolsMap() 
)
inline

Definition at line 33 of file SectCreate.h.

Member Function Documentation

◆ getName()

StringRef llvm::orc::SectCreateMaterializationUnit::getName ( ) const
inlineoverridevirtual

Return the name of this materialization unit.

Useful for debugging output.

Implements llvm::orc::MaterializationUnit.

Definition at line 42 of file SectCreate.h.

◆ materialize()

void llvm::orc::SectCreateMaterializationUnit::materialize ( std::unique_ptr< MaterializationResponsibility R)
overridevirtual

Implementations of this method should materialize all symbols in the materialzation unit, except for those that have been previously discarded.

Implements llvm::orc::MaterializationUnit.

Definition at line 17 of file SectCreate.cpp.

References B, Content, llvm::orc::ObjectLinkingLayer::emit(), G, llvm::orc::LinkGraphLayer::getExecutionSession(), llvm::jitlink::getGenericEdgeKindName(), llvm::orc::ExecutionSession::getSymbolStringPool(), llvm::orc::ExecutionSession::getTargetTriple(), Info, and Name.


The documentation for this class was generated from the following files: