LLVM  10.0.0svn
Public Types | Public Member Functions | List of all members
llvm::orc::Speculator Class Reference

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

Public Types

using TargetFAddr = JITTargetAddress
 
using FunctionCandidatesMap = DenseMap< SymbolStringPtr, SymbolNameSet >
 
using StubAddrLikelies = DenseMap< TargetFAddr, SymbolNameSet >
 

Public Member Functions

 Speculator (ImplSymbolMap &Impl, ExecutionSession &ref)
 
 Speculator (const Speculator &)=delete
 
 Speculator (Speculator &&)=delete
 
Speculatoroperator= (const Speculator &)=delete
 
Speculatoroperator= (Speculator &&)=delete
 
Error addSpeculationRuntime (JITDylib &JD, MangleAndInterner &Mangle)
 Define symbols for this Speculator object (__orc_speculator) and the speculation runtime entry point symbol (__orc_speculate_for) in the given JITDylib. More...
 
void speculateFor (TargetFAddr StubAddr)
 
void registerSymbols (FunctionCandidatesMap Candidates, JITDylib *JD)
 
ExecutionSessiongetES ()
 

Detailed Description

Definition at line 65 of file Speculation.h.

Member Typedef Documentation

◆ FunctionCandidatesMap

Definition at line 68 of file Speculation.h.

◆ StubAddrLikelies

Definition at line 69 of file Speculation.h.

◆ TargetFAddr

Definition at line 67 of file Speculation.h.

Constructor & Destructor Documentation

◆ Speculator() [1/3]

llvm::orc::Speculator::Speculator ( ImplSymbolMap Impl,
ExecutionSession ref 
)
inline

Definition at line 123 of file Speculation.h.

References llvm::orc::ImplSymbolMap::Speculator.

◆ Speculator() [2/3]

llvm::orc::Speculator::Speculator ( const Speculator )
delete

◆ Speculator() [3/3]

llvm::orc::Speculator::Speculator ( Speculator &&  )
delete

Member Function Documentation

◆ addSpeculationRuntime()

Error llvm::orc::Speculator::addSpeculationRuntime ( JITDylib JD,
MangleAndInterner Mangle 
)

Define symbols for this Speculator object (__orc_speculator) and the speculation runtime entry point symbol (__orc_speculate_for) in the given JITDylib.

Definition at line 45 of file Speculation.cpp.

References llvm::orc::absoluteSymbols(), llvm::orc::JITDylib::define(), llvm::JITSymbolFlags::Exported, and llvm::pointerToJITTargetAddress().

◆ getES()

ExecutionSession& llvm::orc::Speculator::getES ( )
inline

Definition at line 159 of file Speculation.h.

◆ operator=() [1/2]

Speculator& llvm::orc::Speculator::operator= ( const Speculator )
delete

◆ operator=() [2/2]

Speculator& llvm::orc::Speculator::operator= ( Speculator &&  )
delete

◆ registerSymbols()

void llvm::orc::Speculator::registerSymbols ( FunctionCandidatesMap  Candidates,
JITDylib JD 
)
inline

Definition at line 140 of file Speculation.h.

References llvm::orc::NoDependenciesToRegister, and llvm::orc::Ready.

◆ speculateFor()

void llvm::orc::Speculator::speculateFor ( TargetFAddr  StubAddr)
inline

Definition at line 137 of file Speculation.h.

Referenced by llvm::orc::ImplSymbolMap::trackImpls().


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