LLVM 22.0.0git
llvm::orc::ExecutorSymbolDef Class Reference

Represents a defining location for a JIT symbol. More...

#include "llvm/ExecutionEngine/Orc/Shared/ExecutorSymbolDef.h"

Public Member Functions

template<typename T, typename WrapFn = ExecutorAddr::defaultWrap<std::remove_pointer_t<T>>>
std::enable_if_t< std::is_pointer< T >::value, TtoPtr (WrapFn &&Wrap=WrapFn()) const
 Cast this ExecutorSymbolDef to a pointer of the given type.
template<typename T, typename WrapFn = ExecutorAddr::defaultWrap<T>>
std::enable_if_t< std::is_function< T >::value, T * > toPtr (WrapFn &&Wrap=WrapFn()) const
 Cast this ExecutorSymbolDef to a pointer of the given function type.
 ExecutorSymbolDef ()=default
 ExecutorSymbolDef (ExecutorAddr Addr, JITSymbolFlags Flags)
const ExecutorAddrgetAddress () const
const JITSymbolFlagsgetFlags () const
void setFlags (JITSymbolFlags Flags)

Static Public Member Functions

template<typename T, typename UnwrapFn = ExecutorAddr::defaultUnwrap<T>>
static ExecutorSymbolDef fromPtr (T *Ptr, JITSymbolFlags BaseFlags=JITSymbolFlags(), UnwrapFn &&Unwrap=UnwrapFn())
 Create an ExecutorSymbolDef from the given pointer.

Friends

bool operator== (const ExecutorSymbolDef &LHS, const ExecutorSymbolDef &RHS)
bool operator!= (const ExecutorSymbolDef &LHS, const ExecutorSymbolDef &RHS)

Detailed Description

Represents a defining location for a JIT symbol.

Definition at line 24 of file ExecutorSymbolDef.h.

Constructor & Destructor Documentation

◆ ExecutorSymbolDef() [1/2]

llvm::orc::ExecutorSymbolDef::ExecutorSymbolDef ( )
default

Referenced by fromPtr(), operator!=, and operator==.

◆ ExecutorSymbolDef() [2/2]

llvm::orc::ExecutorSymbolDef::ExecutorSymbolDef ( ExecutorAddr Addr,
JITSymbolFlags Flags )
inline

Definition at line 58 of file ExecutorSymbolDef.h.

Member Function Documentation

◆ fromPtr()

template<typename T, typename UnwrapFn = ExecutorAddr::defaultUnwrap<T>>
ExecutorSymbolDef llvm::orc::ExecutorSymbolDef::fromPtr ( T * Ptr,
JITSymbolFlags BaseFlags = JITSymbolFlags(),
UnwrapFn && Unwrap = UnwrapFn() )
inlinestatic

Create an ExecutorSymbolDef from the given pointer.

Warning: This should only be used when JITing in-process.

Definition at line 29 of file ExecutorSymbolDef.h.

References llvm::JITSymbolFlags::Callable, ExecutorSymbolDef(), llvm::orc::ExecutorAddr::fromPtr(), Ptr, and T.

◆ getAddress()

◆ getFlags()

◆ setFlags()

void llvm::orc::ExecutorSymbolDef::setFlags ( JITSymbolFlags Flags)
inline

Definition at line 65 of file ExecutorSymbolDef.h.

◆ toPtr() [1/2]

template<typename T, typename WrapFn = ExecutorAddr::defaultWrap<std::remove_pointer_t<T>>>
std::enable_if_t< std::is_pointer< T >::value, T > llvm::orc::ExecutorSymbolDef::toPtr ( WrapFn && Wrap = WrapFn()) const
inline

Cast this ExecutorSymbolDef to a pointer of the given type.

Warning: This should only be used when JITing in-process.

Definition at line 45 of file ExecutorSymbolDef.h.

References T.

◆ toPtr() [2/2]

template<typename T, typename WrapFn = ExecutorAddr::defaultWrap<T>>
std::enable_if_t< std::is_function< T >::value, T * > llvm::orc::ExecutorSymbolDef::toPtr ( WrapFn && Wrap = WrapFn()) const
inline

Cast this ExecutorSymbolDef to a pointer of the given function type.

Warning: This should only be used when JITing in-process.

Definition at line 53 of file ExecutorSymbolDef.h.

References T.

◆ operator!=

bool operator!= ( const ExecutorSymbolDef & LHS,
const ExecutorSymbolDef & RHS )
friend

Definition at line 73 of file ExecutorSymbolDef.h.

References ExecutorSymbolDef(), LHS, and RHS.

◆ operator==

bool operator== ( const ExecutorSymbolDef & LHS,
const ExecutorSymbolDef & RHS )
friend

Definition at line 67 of file ExecutorSymbolDef.h.

References ExecutorSymbolDef(), LHS, and RHS.


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