LLVM 19.0.0git
Static Public Member Functions | Static Public Attributes | List of all members
llvm::orc::OrcGenericABI Class Reference

Generic ORC ABI support. More...

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

Static Public Member Functions

static void writeResolverCode (char *ResolveWorkingMem, ExecutorAddr ResolverTargetAddr, ExecutorAddr ReentryFnAddr, ExecutorAddr ReentryCtxAddr)
 
static void writeTrampolines (char *TrampolineBlockWorkingMem, ExecutorAddr TrampolineBlockTargetAddr, ExecutorAddr ResolverAddr, unsigned NumTrampolines)
 
static void writeIndirectStubsBlock (char *StubsBlockWorkingMem, ExecutorAddr StubsBlockTargetAddress, ExecutorAddr PointersBlockTargetAddress, unsigned NumStubs)
 

Static Public Attributes

static constexpr unsigned PointerSize = sizeof(uintptr_t)
 
static constexpr unsigned TrampolineSize = 1
 
static constexpr unsigned StubSize = 1
 
static constexpr unsigned StubToPointerMaxDisplacement = 1
 
static constexpr unsigned ResolverCodeSize = 1
 

Detailed Description

Generic ORC ABI support.

This class can be substituted as the target architecture support class for ORC templates that require one (e.g. IndirectStubsManagers). It does not support lazy JITing however, and any attempt to use that functionality will result in execution of an llvm_unreachable.

Definition at line 55 of file OrcABISupport.h.

Member Function Documentation

◆ writeIndirectStubsBlock()

static void llvm::orc::OrcGenericABI::writeIndirectStubsBlock ( char StubsBlockWorkingMem,
ExecutorAddr  StubsBlockTargetAddress,
ExecutorAddr  PointersBlockTargetAddress,
unsigned  NumStubs 
)
inlinestatic

Definition at line 79 of file OrcABISupport.h.

References llvm_unreachable.

◆ writeResolverCode()

static void llvm::orc::OrcGenericABI::writeResolverCode ( char ResolveWorkingMem,
ExecutorAddr  ResolverTargetAddr,
ExecutorAddr  ReentryFnAddr,
ExecutorAddr  ReentryCtxAddr 
)
inlinestatic

Definition at line 63 of file OrcABISupport.h.

References llvm_unreachable.

◆ writeTrampolines()

static void llvm::orc::OrcGenericABI::writeTrampolines ( char TrampolineBlockWorkingMem,
ExecutorAddr  TrampolineBlockTargetAddr,
ExecutorAddr  ResolverAddr,
unsigned  NumTrampolines 
)
inlinestatic

Definition at line 71 of file OrcABISupport.h.

References llvm_unreachable.

Member Data Documentation

◆ PointerSize

constexpr unsigned llvm::orc::OrcGenericABI::PointerSize = sizeof(uintptr_t)
staticconstexpr

Definition at line 57 of file OrcABISupport.h.

◆ ResolverCodeSize

constexpr unsigned llvm::orc::OrcGenericABI::ResolverCodeSize = 1
staticconstexpr

Definition at line 61 of file OrcABISupport.h.

◆ StubSize

constexpr unsigned llvm::orc::OrcGenericABI::StubSize = 1
staticconstexpr

Definition at line 59 of file OrcABISupport.h.

◆ StubToPointerMaxDisplacement

constexpr unsigned llvm::orc::OrcGenericABI::StubToPointerMaxDisplacement = 1
staticconstexpr

Definition at line 60 of file OrcABISupport.h.

◆ TrampolineSize

constexpr unsigned llvm::orc::OrcGenericABI::TrampolineSize = 1
staticconstexpr

Definition at line 58 of file OrcABISupport.h.


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