Go to the documentation of this file.
15 Expected<std::vector<WrapperFunctionCall>>
17 std::vector<WrapperFunctionCall> DeallocActions;
20 for (
auto &
AA : AAs) {
22 if (
auto Err =
AA.Finalize.runWithSPSRetErrorMerged())
30 return DeallocActions;
35 while (!DAs.
empty()) {
ArrayRef< T > drop_back(size_t N=1) const
Drop the last N elements of the array.
This is an optimization pass for GlobalISel generic memory operations.
static ErrorSuccess success()
Create a success value.
size_t numDeallocActions(const AllocActions &AAs)
Returns the number of deallocaton actions in the given AllocActions array.
bool empty() const
empty - Check if the array is empty.
const T & back() const
back - Get the last element.
Expected< std::vector< WrapperFunctionCall > > runFinalizeActions(AllocActions &AAs)
Run finalize actions.
Error runWithSPSRetErrorMerged() const
Run call and deserialize an SPSError result.
compiles ldr LCPI1_0 ldr ldr mov lsr tst moveq r1 ldr LCPI1_1 and r0 bx lr It would be better to do something like to fold the shift into the conditional move
Error joinErrors(Error E1, Error E2)
Concatenate errors.
Error runDeallocActions(ArrayRef< WrapperFunctionCall > DAs)
Run deallocation actions.
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory),...
std::vector< AllocActionCallPair > AllocActions
A vector of allocation actions to be run for this allocation.
Lightweight error class with error context and mandatory checking.