13#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_EXECUTORSYMBOLDEF_H
14#define LLVM_EXECUTIONENGINE_ORC_SHARED_EXECUTORSYMBOLDEF_H
38 return LHS.getAddress() ==
RHS.getAddress() &&
39 LHS.getFlags() ==
RHS.getFlags();
63 return FlagsArgList::size(
F.getRawFlagsValue(),
F.getTargetFlags());
67 return FlagsArgList::serialize(BOB,
F.getRawFlagsValue(),
74 if (!FlagsArgList::deserialize(BIB, RawFlags, TargetFlags))
101 if (!DefArgList::deserialize(BIB,
Addr, Flags))
Flags for symbols in the JIT.
Represents an address in the executor process.
Represents a defining location for a JIT symbol.
void setFlags(JITSymbolFlags Flags)
friend bool operator==(const ExecutorSymbolDef &LHS, const ExecutorSymbolDef &RHS)
friend bool operator!=(const ExecutorSymbolDef &LHS, const ExecutorSymbolDef &RHS)
ExecutorSymbolDef(ExecutorAddr Addr, JITSymbolFlags Flags)
ExecutorSymbolDef()=default
const JITSymbolFlags & getFlags() const
const ExecutorAddr & getAddress() const
A utility class for serializing to a blob from a variadic list.
Output char buffer with overflow check.
static bool deserialize(SPSInputBuffer &BIB, ExecutorSymbolDef &ESD)
static size_t size(const ExecutorSymbolDef &ESD)
static bool serialize(SPSOutputBuffer &BOB, const ExecutorSymbolDef &ESD)
static bool deserialize(SPSInputBuffer &BIB, JITSymbolFlags &F)
static bool serialize(SPSOutputBuffer &BOB, const JITSymbolFlags &F)
static size_t size(const JITSymbolFlags &F)
Specialize to describe how to serialize/deserialize to/from the given concrete type.
SPSArgList< SPSTagTs... > AsArgList
Convenience typedef of the corresponding arg list.
This is an optimization pass for GlobalISel generic memory operations.