LLVM 20.0.0git
Classes | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
llvm::orc::SimpleMachOHeaderMU Class Reference

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

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

Public Member Functions

 SimpleMachOHeaderMU (MachOPlatform &MOP, SymbolStringPtr HeaderStartSymbol, MachOPlatform::HeaderOptions Opts)
 
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 &Sym) 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.
 

Protected Member Functions

virtual jitlink::BlockcreateHeaderBlock (JITDylib &JD, jitlink::LinkGraph &G, jitlink::Section &HeaderSection)
 

Protected Attributes

MachOPlatformMOP
 
MachOPlatform::HeaderOptions Opts
 
- Protected Attributes inherited from llvm::orc::MaterializationUnit
SymbolFlagsMap SymbolFlags
 
SymbolStringPtr InitSymbol
 

Additional Inherited Members

- Static Public Attributes inherited from llvm::orc::MaterializationUnit
static char ID
 

Detailed Description

Definition at line 383 of file MachOPlatform.h.

Constructor & Destructor Documentation

◆ SimpleMachOHeaderMU()

llvm::orc::SimpleMachOHeaderMU::SimpleMachOHeaderMU ( MachOPlatform MOP,
SymbolStringPtr  HeaderStartSymbol,
MachOPlatform::HeaderOptions  Opts 
)

Definition at line 1762 of file MachOPlatform.cpp.

Member Function Documentation

◆ createHeaderBlock()

jitlink::Block & llvm::orc::SimpleMachOHeaderMU::createHeaderBlock ( JITDylib JD,
jitlink::LinkGraph G,
jitlink::Section HeaderSection 
)
protectedvirtual

◆ discard()

void llvm::orc::SimpleMachOHeaderMU::discard ( const JITDylib JD,
const SymbolStringPtr Name 
)
overridevirtual

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 1776 of file MachOPlatform.cpp.

◆ getName()

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

Return the name of this materialization unit.

Useful for debugging output.

Implements llvm::orc::MaterializationUnit.

Definition at line 387 of file MachOPlatform.h.

◆ materialize()

void llvm::orc::SimpleMachOHeaderMU::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 1769 of file MachOPlatform.cpp.

References llvm::orc::ObjectLinkingLayer::emit(), G, llvm::orc::MachOPlatform::getObjectLinkingLayer(), and MOP.

Member Data Documentation

◆ MOP

MachOPlatform& llvm::orc::SimpleMachOHeaderMU::MOP
protected

Definition at line 395 of file MachOPlatform.h.

Referenced by createHeaderBlock(), and materialize().

◆ Opts

MachOPlatform::HeaderOptions llvm::orc::SimpleMachOHeaderMU::Opts
protected

Definition at line 396 of file MachOPlatform.h.

Referenced by createHeaderBlock().


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