LLVM 22.0.0git
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
LLVM_ABI 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 61 of file Speculation.h.

Member Typedef Documentation

◆ FunctionCandidatesMap

◆ StubAddrLikelies

◆ TargetFAddr

Definition at line 63 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.

Referenced by operator=(), operator=(), Speculator(), and Speculator().

◆ Speculator() [2/3]

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

References Speculator().

◆ Speculator() [3/3]

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

References Speculator().

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 44 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 162 of file Speculation.h.

Referenced by registerSymbols().

◆ operator=() [1/2]

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

References Speculator().

◆ operator=() [2/2]

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

References LLVM_ABI, and Speculator().

◆ registerSymbols()

◆ speculateFor()

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

Definition at line 137 of file Speculation.h.


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