LLVM  11.0.0git
Public Member Functions | List of all members
llvm::orc::ReExportsMaterializationUnit Class Reference

A materialization unit for symbol aliases. More...

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

Inheritance diagram for llvm::orc::ReExportsMaterializationUnit:
Inheritance graph
[legend]
Collaboration diagram for llvm::orc::ReExportsMaterializationUnit:
Collaboration graph
[legend]

Public Member Functions

 ReExportsMaterializationUnit (JITDylib *SourceJD, JITDylibLookupFlags SourceJDLookupFlags, SymbolAliasMap Aliases, VModuleKey K)
 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). More...
 
StringRef getName () const override
 Return the name of this materialization unit. More...
 
- Public Member Functions inherited from llvm::orc::MaterializationUnit
 MaterializationUnit (SymbolFlagsMap InitalSymbolFlags, SymbolStringPtr InitSymbol, VModuleKey K)
 
virtual ~MaterializationUnit ()
 
const SymbolFlagsMapgetSymbols () const
 Return the set of symbols that this source provides. More...
 
const SymbolStringPtrgetInitializerSymbol () const
 Returns the initialization symbol for this MaterializationUnit (if any). More...
 
void doDiscard (const JITDylib &JD, const SymbolStringPtr &Name)
 Called by JITDylibs to notify MaterializationUnits that the given symbol has been overridden. More...
 

Additional Inherited Members

- Protected Attributes inherited from llvm::orc::MaterializationUnit
SymbolFlagsMap SymbolFlags
 
SymbolStringPtr InitSymbol
 
VModuleKey K
 

Detailed Description

A materialization unit for symbol aliases.

Allows existing symbols to be aliased with alternate flags.

Definition at line 649 of file Core.h.

Constructor & Destructor Documentation

◆ ReExportsMaterializationUnit()

llvm::orc::ReExportsMaterializationUnit::ReExportsMaterializationUnit ( JITDylib SourceJD,
JITDylibLookupFlags  SourceJDLookupFlags,
SymbolAliasMap  Aliases,
VModuleKey  K 
)

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.

Definition at line 361 of file Core.cpp.

Member Function Documentation

◆ getName()

StringRef llvm::orc::ReExportsMaterializationUnit::getName ( ) const
overridevirtual

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