LLVM  10.0.0svn
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]
Collaboration diagram for llvm::orc::IRSpeculationLayer:
Collaboration graph
[legend]

Public Types

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

Public Member Functions

 IRSpeculationLayer (ExecutionSession &ES, IRCompileLayer &BaseLayer, Speculator &Spec, MangleAndInterner &Mangle, ResultEval Interpreter)
 
void emit (MaterializationResponsibility R, ThreadSafeModule TSM)
 Emit should materialize the given IR. More...
 
- Public Member Functions inherited from llvm::orc::IRLayer
 IRLayer (ExecutionSession &ES)
 
virtual ~IRLayer ()
 
ExecutionSessiongetExecutionSession ()
 Returns the ExecutionSession for this layer. More...
 
void setCloneToNewContextOnEmit (bool CloneToNewContextOnEmit)
 Sets the CloneToNewContextOnEmit flag (false by default). More...
 
bool getCloneToNewContextOnEmit () const
 Returns the current value of the CloneToNewContextOnEmit flag. More...
 
virtual Error add (JITDylib &JD, ThreadSafeModule TSM, VModuleKey K=VModuleKey())
 Adds a MaterializationUnit representing the given IR to the given JITDylib. More...
 

Detailed Description

Definition at line 169 of file Speculation.h.

Member Typedef Documentation

◆ IRlikiesStrRef

Definition at line 171 of file Speculation.h.

◆ ResultEval

Definition at line 172 of file Speculation.h.

◆ TargetAndLikelies

Definition at line 173 of file Speculation.h.

Constructor & Destructor Documentation

◆ IRSpeculationLayer()

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

Member Function Documentation

◆ emit()

void llvm::orc::IRSpeculationLayer::emit ( MaterializationResponsibility  R,
ThreadSafeModule  TSM 
)
virtual

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