class ReExportsMaterializationUnit
Declaration
class ReExportsMaterializationUnit : public MaterializationUnit { /* full declaration omitted */ };
Description
A materialization unit for symbol aliases. Allows existing symbols to be aliased with alternate flags.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:763
Inherits from: MaterializationUnit
Member Variables
- private llvm::orc::JITDylib* SourceJD = nullptr
- private llvm::orc::JITDylibLookupFlags SourceJDLookupFlags
- private llvm::orc::SymbolAliasMap Aliases
Inherited from MaterializationUnit:
Method Overview
- public ReExportsMaterializationUnit(llvm::orc::JITDylib * SourceJD, llvm::orc::JITDylibLookupFlags SourceJDLookupFlags, llvm::orc::SymbolAliasMap Aliases)
- private void discard(const llvm::orc::JITDylib & JD, const llvm::orc::SymbolStringPtr & Name)
- private static MaterializationUnit::Interface extractFlags(const llvm::orc::SymbolAliasMap & Aliases)
- public llvm::StringRef getName() const
- private void materialize(std::unique_ptr<MaterializationResponsibility> R)
Inherited from MaterializationUnit:
Methods
¶ReExportsMaterializationUnit(
llvm::orc::JITDylib* SourceJD,
llvm::orc::JITDylibLookupFlags
SourceJDLookupFlags,
llvm::orc::SymbolAliasMap Aliases)
ReExportsMaterializationUnit(
llvm::orc::JITDylib* SourceJD,
llvm::orc::JITDylibLookupFlags
SourceJDLookupFlags,
llvm::orc::SymbolAliasMap Aliases)
Description
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.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:773
Parameters
- llvm::orc::JITDylib* SourceJD
- llvm::orc::JITDylibLookupFlags SourceJDLookupFlags
- llvm::orc::SymbolAliasMap Aliases
¶void discard(
const llvm::orc::JITDylib& JD,
const llvm::orc::SymbolStringPtr& Name)
void discard(
const llvm::orc::JITDylib& JD,
const llvm::orc::SymbolStringPtr& Name)
Description
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).
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:781
Parameters
- const llvm::orc::JITDylib& JD
- const llvm::orc::SymbolStringPtr& Name
¶static MaterializationUnit::Interface
extractFlags(
const llvm::orc::SymbolAliasMap& Aliases)
static MaterializationUnit::Interface
extractFlags(
const llvm::orc::SymbolAliasMap& Aliases)
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:783
Parameters
- const llvm::orc::SymbolAliasMap& Aliases
¶llvm::StringRef getName() const
llvm::StringRef getName() const
Description
Return the name of this materialization unit. Useful for debugging output.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:777
¶void materialize(
std::unique_ptr<MaterializationResponsibility>
R)
void materialize(
std::unique_ptr<MaterializationResponsibility>
R)
Description
Implementations of this method should materialize all symbols in the materialzation unit, except for those that have been previously discarded.
Declared at: llvm/include/llvm/ExecutionEngine/Orc/Core.h:780
Parameters
- std::unique_ptr<MaterializationResponsibility> R