LLVM  7.0.0svn
Public Member Functions | List of all members
llvm::orc::SymbolSource Class Referenceabstract

Represents a source of symbol definitions which may be materialized (turned into data / code through some materialization process) or discarded (if the definition is overridden by a stronger one). More...

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

Public Member Functions

virtual ~SymbolSource ()
 
virtual Error materialize (VSO &V, SymbolNameSet Symbols)=0
 Implementations of this method should materialize the given symbols (plus any additional symbols required) by adding a Materializer to the ExecutionSession's MaterializationQueue. More...
 
virtual void discard (VSO &V, SymbolStringPtr Name)=0
 Implementations of this method should discard the given symbol from the source (e.g. More...
 

Detailed Description

Represents a source of symbol definitions which may be materialized (turned into data / code through some materialization process) or discarded (if the definition is overridden by a stronger one).

SymbolSources are used when providing lazy definitions of symbols to VSOs. The VSO will call materialize when the address of a symbol is requested via the lookup method. The VSO will call discard if a stronger definition is added or already present.

Definition at line 168 of file Core.h.

Constructor & Destructor Documentation

◆ ~SymbolSource()

virtual llvm::orc::SymbolSource::~SymbolSource ( )
inlinevirtual

Definition at line 170 of file Core.h.

Member Function Documentation

◆ discard()

virtual void llvm::orc::SymbolSource::discard ( VSO V,
SymbolStringPtr  Name 
)
pure virtual

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).

◆ materialize()

virtual Error llvm::orc::SymbolSource::materialize ( VSO V,
SymbolNameSet  Symbols 
)
pure virtual

Implementations of this method should materialize the given symbols (plus any additional symbols required) by adding a Materializer to the ExecutionSession's MaterializationQueue.


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