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

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

Public Types

using TargetFAddr = ExecutorAddr
 
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.
 
void speculateFor (TargetFAddr StubAddr)
 
void registerSymbols (FunctionCandidatesMap Candidates, JITDylib *JD)
 
ExecutionSessiongetES ()
 

Detailed Description

Definition at line 60 of file Speculation.h.

Member Typedef Documentation

◆ FunctionCandidatesMap

Definition at line 63 of file Speculation.h.

◆ StubAddrLikelies

Definition at line 64 of file Speculation.h.

◆ TargetFAddr

Definition at line 62 of file Speculation.h.

Constructor & Destructor Documentation

◆ Speculator() [1/3]

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

Definition at line 122 of file Speculation.h.

◆ 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 42 of file Speculation.cpp.

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

◆ getES()

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

Definition at line 161 of file Speculation.h.

Referenced by registerSymbols().

◆ 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

◆ speculateFor()

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

Definition at line 136 of file Speculation.h.


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