class Speculator

Declaration

class Speculator { /* full declaration omitted */ };

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:61

Member Variables

private std::mutex ConcurrentAccess
private llvm::orc::ImplSymbolMap& AliaseeImplTable
private llvm::orc::ExecutionSession& ES
private llvm::orc::Speculator::StubAddrLikelies GlobalSpecMap

Method Overview

  • public Speculator(llvm::orc::ImplSymbolMap & Impl, llvm::orc::ExecutionSession & ref)
  • public Speculator(const llvm::orc::Speculator &)
  • public Speculator(llvm::orc::Speculator &&)
  • public llvm::Error addSpeculationRuntime(llvm::orc::JITDylib & JD, llvm::orc::MangleAndInterner & Mangle)
  • public llvm::orc::ExecutionSession & getES()
  • private void launchCompile(llvm::JITTargetAddress FAddr)
  • public void registerSymbols(llvm::orc::Speculator::FunctionCandidatesMap Candidates, llvm::orc::JITDylib * JD)
  • private void registerSymbolsWithAddr(llvm::orc::Speculator::TargetFAddr ImplAddr, llvm::orc::SymbolNameSet likelySymbols)
  • public void speculateFor(llvm::orc::Speculator::TargetFAddr StubAddr)
  • private static void speculateForEntryPoint(llvm::orc::Speculator * Ptr, uint64_t StubId)

Methods

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:123

Parameters

llvm::orc::ImplSymbolMap& Impl
llvm::orc::ExecutionSession& ref

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:125

Parameters

const llvm::orc::Speculator&

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:126

Parameters

llvm::orc::Speculator&&

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

Description

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:133

Parameters

llvm::orc::JITDylib& JD
llvm::orc::MangleAndInterner& Mangle

llvm::orc::ExecutionSession& getES()

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:162

void launchCompile(llvm::JITTargetAddress FAddr)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:74

Parameters

llvm::JITTargetAddress FAddr

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:140

Parameters

llvm::orc::Speculator::FunctionCandidatesMap Candidates
llvm::orc::JITDylib* JD

void registerSymbolsWithAddr(
    llvm::orc::Speculator::TargetFAddr ImplAddr,
    llvm::orc::SymbolNameSet likelySymbols)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:68

Parameters

llvm::orc::Speculator::TargetFAddr ImplAddr
llvm::orc::SymbolNameSet likelySymbols

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

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:137

Parameters

llvm::orc::Speculator::TargetFAddr StubAddr

static void speculateForEntryPoint(
    llvm::orc::Speculator* Ptr,
    uint64_t StubId)

Declared at: llvm/include/llvm/ExecutionEngine/Orc/Speculation.h:165

Parameters

llvm::orc::Speculator* Ptr
uint64_t StubId