LLVM 20.0.0git
|
A materialization unit for symbol aliases. More...
#include "llvm/ExecutionEngine/Orc/Core.h"
Public Member Functions | |
ReExportsMaterializationUnit (JITDylib *SourceJD, JITDylibLookupFlags SourceJDLookupFlags, SymbolAliasMap Aliases) | |
SourceJD is allowed to be nullptr, in which case the source JITDylib is taken to be whatever JITDylib these definitions are materialized in (and MatchNonExported has no effect). | |
StringRef | getName () const override |
Return the name of this materialization unit. | |
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 SymbolFlagsMap & | getSymbols () const |
Return the set of symbols that this source provides. | |
const SymbolStringPtr & | getInitializerSymbol () 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 |
A materialization unit for symbol aliases.
Allows existing symbols to be aliased with alternate flags.
llvm::orc::ReExportsMaterializationUnit::ReExportsMaterializationUnit | ( | JITDylib * | SourceJD, |
JITDylibLookupFlags | SourceJDLookupFlags, | ||
SymbolAliasMap | Aliases | ||
) |
SourceJD is allowed to be nullptr, in which case the source JITDylib is taken to be whatever JITDylib these definitions are materialized in (and MatchNonExported has no effect).
This is useful for defining aliases within a JITDylib.
Note: Care must be taken that no sets of aliases form a cycle, as such a cycle will result in a deadlock when any symbol in the cycle is resolved.
|
overridevirtual |
Return the name of this materialization unit.
Useful for debugging output.
Implements llvm::orc::MaterializationUnit.