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

RedirectableMaterializationUnit materializes redirectable symbol by invoking RedirectableSymbolManager::emitRedirectableSymbols. More...

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

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

Public Member Functions

 RedirectableMaterializationUnit (RedirectableSymbolManager &RM, SymbolMap InitialDests)
 
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.
 
void discard (const JITDylib &JD, const SymbolStringPtr &Name) override
 Implementations of this method should discard the given symbol from the source (e.g.
 
- 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

RedirectableMaterializationUnit materializes redirectable symbol by invoking RedirectableSymbolManager::emitRedirectableSymbols.

Definition at line 65 of file RedirectionManager.h.

Constructor & Destructor Documentation

◆ RedirectableMaterializationUnit()

llvm::orc::RedirectableMaterializationUnit::RedirectableMaterializationUnit ( RedirectableSymbolManager RM,
SymbolMap  InitialDests 
)
inline

Definition at line 67 of file RedirectionManager.h.

Member Function Documentation

◆ discard()

void llvm::orc::RedirectableMaterializationUnit::discard ( const JITDylib JD,
const SymbolStringPtr Name 
)
inlineoverridevirtual

Implementations of this method should discard the given symbol from the source (e.g.

if the source is an LLVM IR Module and the symbol is a function, delete the function body or mark it available externally).

Implements llvm::orc::MaterializationUnit.

Definition at line 80 of file RedirectionManager.h.

References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::erase(), and Name.

◆ getName()

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

Return the name of this materialization unit.

Useful for debugging output.

Implements llvm::orc::MaterializationUnit.

Definition at line 72 of file RedirectionManager.h.

◆ materialize()

void llvm::orc::RedirectableMaterializationUnit::materialize ( std::unique_ptr< MaterializationResponsibility R)
inlineoverridevirtual

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 76 of file RedirectionManager.h.

References llvm::orc::RedirectableSymbolManager::emitRedirectableSymbols().


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