LLVM 20.0.0git
Public Types | Public Member Functions | List of all members
llvm::orc::IRSpeculationLayer Class Reference

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

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

Public Types

using IRlikiesStrRef = std::optional< DenseMap< StringRef, DenseSet< StringRef > > >
 
using ResultEval = std::function< IRlikiesStrRef(Function &)>
 
using TargetAndLikelies = DenseMap< SymbolStringPtr, SymbolNameSet >
 

Public Member Functions

 IRSpeculationLayer (ExecutionSession &ES, IRLayer &BaseLayer, Speculator &Spec, MangleAndInterner &Mangle, ResultEval Interpreter)
 
void emit (std::unique_ptr< MaterializationResponsibility > R, ThreadSafeModule TSM) override
 Emit should materialize the given IR.
 
- Public Member Functions inherited from llvm::orc::IRLayer
 IRLayer (ExecutionSession &ES, const IRSymbolMapper::ManglingOptions *&MO)
 
virtual ~IRLayer ()
 
ExecutionSessiongetExecutionSession ()
 Returns the ExecutionSession for this layer.
 
const IRSymbolMapper::ManglingOptions *& getManglingOptions () const
 Get the mangling options for this layer.
 
void setCloneToNewContextOnEmit (bool CloneToNewContextOnEmit)
 Sets the CloneToNewContextOnEmit flag (false by default).
 
bool getCloneToNewContextOnEmit () const
 Returns the current value of the CloneToNewContextOnEmit flag.
 
virtual Error add (ResourceTrackerSP RT, ThreadSafeModule TSM)
 Add a MaterializatinoUnit representing the given IR to the JITDylib targeted by the given tracker.
 
Error add (JITDylib &JD, ThreadSafeModule TSM)
 Adds a MaterializationUnit representing the given IR to the given JITDylib.
 
virtual void emit (std::unique_ptr< MaterializationResponsibility > R, ThreadSafeModule TSM)=0
 Emit should materialize the given IR.
 

Detailed Description

Definition at line 171 of file Speculation.h.

Member Typedef Documentation

◆ IRlikiesStrRef

Definition at line 173 of file Speculation.h.

◆ ResultEval

Definition at line 175 of file Speculation.h.

◆ TargetAndLikelies

Definition at line 176 of file Speculation.h.

Constructor & Destructor Documentation

◆ IRSpeculationLayer()

llvm::orc::IRSpeculationLayer::IRSpeculationLayer ( ExecutionSession ES,
IRLayer BaseLayer,
Speculator Spec,
MangleAndInterner Mangle,
ResultEval  Interpreter 
)
inline

Definition at line 178 of file Speculation.h.

Member Function Documentation

◆ emit()

void llvm::orc::IRSpeculationLayer::emit ( std::unique_ptr< MaterializationResponsibility R,
ThreadSafeModule  TSM 
)
overridevirtual

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