13#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_ALLOCATIONACTIONS_H
14#define LLVM_EXECUTIONENGINE_ORC_SHARED_ALLOCATIONACTIONS_H
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
Lightweight error class with error context and mandatory checking.
Tagged union holding either a T or a Error.
A utility class for serializing to a blob from a variadic list.
Output char buffer with overflow check.
static bool deserialize(SPSInputBuffer &IB, AllocActionCallPair &AAP)
static bool serialize(SPSOutputBuffer &OB, const AllocActionCallPair &AAP)
static size_t size(const AllocActionCallPair &AAP)
Specialize to describe how to serialize/deserialize to/from the given concrete type.
SPSArgList< SPSTagTs... > AsArgList
Convenience typedef of the corresponding arg list.
Represents a serialized wrapper function call.
size_t numDeallocActions(const AllocActions &AAs)
Returns the number of deallocaton actions in the given AllocActions array.
Error runDeallocActions(ArrayRef< WrapperFunctionCall > DAs)
Run deallocation actions.
Expected< std::vector< WrapperFunctionCall > > runFinalizeActions(AllocActions &AAs)
Run finalize actions.
std::vector< AllocActionCallPair > AllocActions
A vector of allocation actions to be run for this allocation.
This is an optimization pass for GlobalISel generic memory operations.
auto count_if(R &&Range, UnaryPredicate P)
Wrapper function around std::count_if to count the number of times an element satisfying a given pred...
A pair of WrapperFunctionCalls, one to be run at finalization time, one to be run at deallocation tim...
WrapperFunctionCall Dealloc
WrapperFunctionCall Finalize