LLVM API Documentation
#include "llvm/ADT/SmallVector.h"
#include "llvm/Support/AlignOf.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/MathExtras.h"
#include "llvm/Support/Memory.h"
#include <algorithm>
#include <cassert>
#include <cstddef>
#include <cstdlib>
Go to the source code of this file.
Classes | |
class | llvm::AllocatorBase< DerivedT > |
CRTP base class providing obvious overloads for the core Allocate() methods of LLVM-style allocators. More... | |
class | llvm::MallocAllocator |
class | llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold > |
Allocate memory in an ever growing pool, as if by bump-pointer. More... | |
class | llvm::SpecificBumpPtrAllocator< T > |
A BumpPtrAllocator that allows only elements of a specific type to be allocated. More... | |
Namespaces | |
namespace | llvm |
List of target independent CodeGen pass IDs. | |
namespace | llvm::detail |
Implementation details of the pass manager interfaces. | |
Typedefs | |
typedef BumpPtrAllocatorImpl | llvm::BumpPtrAllocator |
The standard BumpPtrAllocator which just uses the default template paramaters. | |
Functions | |
void | llvm::detail::printBumpPtrAllocatorStats (unsigned NumSlabs, size_t BytesAllocated, size_t TotalMemory) |
template<typename AllocatorT , size_t SlabSize, size_t SizeThreshold> | |
void * | operator new (size_t Size, llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold > &Allocator) |
template<typename AllocatorT , size_t SlabSize, size_t SizeThreshold> | |
void | operator delete (void *, llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold > &) |
This file defines the MallocAllocator and BumpPtrAllocator interfaces. Both of these conform to an LLVM "Allocator" concept which consists of an Allocate method accepting a size and alignment, and a Deallocate accepting a pointer and size. Further, the LLVM "Allocator" concept has overloads of Allocate and Deallocate for setting size and alignment based on the final type. These overloads are typically provided by a base class template AllocatorBase
.
Definition in file Allocator.h.
void operator delete | ( | void * | , |
llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold > & | |||
) |
Definition at line 429 of file Allocator.h.
void* operator new | ( | size_t | Size, |
llvm::BumpPtrAllocatorImpl< AllocatorT, SlabSize, SizeThreshold > & | Allocator | ||
) |
Definition at line 412 of file Allocator.h.
References llvm::AArch64DB::LD, llvm::NextPowerOf2(), and P.