LLVM: llvm::DWARFUnitVector Class Reference (original) (raw)
Describe a collection of units. More...
#include "[llvm/DebugInfo/DWARF/DWARFUnit.h](DWARFUnit%5F8h%5Fsource.html)"
Additional Inherited Members | |
---|---|
![]() |
|
using | ValueParamT = typename SuperClass::ValueParamT |
![]() |
|
using | ValueParamT = const T & |
![]() |
|
SmallVectorImpl (unsigned N) | |
void | assignRemote (SmallVectorImpl &&RHS) |
~SmallVectorImpl () | |
![]() |
|
SmallVectorTemplateBase (size_t Size) | |
void | grow (size_t MinSize=0) |
Grow the allocated memory (without initializing new elements), doubling the size of the allocated memory. | |
T * | mallocForGrow (size_t MinSize, size_t &NewCapacity) |
Create a new allocation big enough for MinSize and pass back its size in NewCapacity. | |
void | moveElementsForGrow (T *NewElts) |
Move existing elements over to the new allocation NewElts, the middle section of grow(). | |
void | takeAllocationForGrow (T *NewElts, size_t NewCapacity) |
Transfer ownership of the allocation, finishing up grow(). | |
const T * | reserveForParamAndGetAddress (const T &Elt, size_t N=1) |
Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage. | |
T * | reserveForParamAndGetAddress (T &Elt, size_t N=1) |
Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage. | |
void | growAndAssign (size_t NumElts, const T &Elt) |
template<typename... ArgTypes> | |
T & | growAndEmplaceBack (ArgTypes &&... Args) |
![]() |
|
void * | getFirstEl () const |
Find the address of the first element. | |
SmallVectorTemplateCommon (size_t Size) | |
void | grow_pod (size_t MinSize, size_t TSize) |
bool | isSmall () const |
Return true if this is a smallvector which has not had dynamic memory allocated for it. | |
void | resetToSmall () |
Put this vector in a state of being small. | |
bool | isReferenceToRange (const void *V, const void *First, const void *Last) const |
Return true if V is an internal reference to the given range. | |
bool | isReferenceToStorage (const void *V) const |
Return true if V is an internal reference to this vector. | |
bool | isRangeInStorage (const void *First, const void *Last) const |
Return true if First and Last form a valid (possibly empty) range in this vector's storage. | |
bool | isSafeToReferenceAfterResize (const void *Elt, size_t NewSize) |
Return true unless Elt will be invalidated by resizing the vector to NewSize. | |
void | assertSafeToReferenceAfterResize (const void *Elt, size_t NewSize) |
Check whether Elt will be invalidated by resizing the vector to NewSize. | |
void | assertSafeToAdd (const void *Elt, size_t N=1) |
Check whether Elt will be invalidated by increasing the size of the vector by N. | |
void | assertSafeToReferenceAfterClear (const T *From, const T *To) |
Check whether any part of the range will be invalidated by clearing. | |
template<class ItTy , std::enable_if_t<!std::is_same< std::remove_const_t< ItTy >, T * >::value, bool > = false> | |
void | assertSafeToReferenceAfterClear (ItTy, ItTy) |
void | assertSafeToAddRange (const T *From, const T *To) |
Check whether any part of the range will be invalidated by growing. | |
template<class ItTy , std::enable_if_t<!std::is_same< std::remove_const_t< ItTy >, T * >::value, bool > = false> | |
void | assertSafeToAddRange (ItTy, ItTy) |
![]() |
|
SmallVectorBase ()=delete | |
SmallVectorBase (void *FirstEl, size_t TotalCapacity) | |
void * | mallocForGrow (void *FirstEl, size_t MinSize, size_t TSize, size_t &NewCapacity) |
This is a helper for grow() that's out of line to reduce code duplication. | |
void | grow_pod (void *FirstEl, size_t MinSize, size_t TSize) |
This is an implementation of the grow() method which only works on POD-like data types and is out of line to reduce code duplication. | |
void | set_size (size_t N) |
Set the array size to N, which the current array must have enough capacity for. | |
void | set_allocation_range (void *Begin, size_t N) |
Set the array data pointer to Begin and capacity to N. | |
![]() |
|
static void | destroy_range (T *S, T *E) |
template<typename It1 , typename It2 > | |
static void | uninitialized_move (It1 I, It1 E, It2 Dest) |
Move the range [I, E) into the uninitialized memory starting with "Dest", constructing elements as needed. | |
template<typename It1 , typename It2 > | |
static void | uninitialized_copy (It1 I, It1 E, It2 Dest) |
Copy the range [I, E) onto the uninitialized memory starting with "Dest", constructing elements as needed. | |
static T && | forward_value_param (T &&V) |
static const T & | forward_value_param (const T &V) |
![]() |
|
template | |
static const T * | reserveForParamAndGetAddressImpl (U *This, const T &Elt, size_t N) |
Reserve enough space to add one element, and return the updated element pointer in case it was a reference to the storage. | |
![]() |
|
static constexpr size_t | SizeTypeMax () |
The maximum value of the Size_T used. | |
![]() |
|
void * | BeginX |
SmallVectorSizeType< T > | Size |
SmallVectorSizeType< T > | Capacity |
![]() |
|
static constexpr bool | TakesParamByValue = false |
Describe a collection of units.
Intended to hold all units either from .debug_info and .debug_types, or from .debug_info.dwo and .debug_types.dwo.
Definition at line 128 of file DWARFUnit.h.
◆ compile_unit_range
◆ iterator
◆ iterator_range
◆ UnitVector
◆ addUnit()
◆ addUnitsForDWOSection()
Read units from a .debug_info.dwo or .debug_types.dwo section.
Calls made before finishedInfoUnits() are assumed to be for .debug_info.dwo sections, calls after finishedInfoUnits() are for .debug_types.dwo sections. Caller must not mix calls to addUnitsForSection and addUnitsForDWOSection.
Definition at line 53 of file DWARFUnit.cpp.
References llvm::CallingConv::C, and D.
◆ addUnitsForSection()
◆ finishedInfoUnits()
void llvm::DWARFUnitVector::finishedInfoUnits ( ) | inline |
---|
◆ getNumInfoUnits()
unsigned llvm::DWARFUnitVector::getNumInfoUnits ( ) const | inline |
---|
◆ getNumTypesUnits()
unsigned llvm::DWARFUnitVector::getNumTypesUnits ( ) const | inline |
---|
◆ getNumUnits()
unsigned llvm::DWARFUnitVector::getNumUnits ( ) const | inline |
---|
◆ getUnitForIndexEntry()
Definition at line 165 of file DWARFUnit.cpp.
References llvm::SmallVectorTemplateCommon< T, typename >::begin(), llvm::SmallVectorTemplateCommon< T, typename >::end(), llvm::DWARFUnitIndex::Entry::getContribution(), getNumInfoUnits(), llvm::SmallVectorImpl< T >::insert(), LHS, llvm::Offset, and RHS.
Referenced by llvm::DWARFContext::getDWOCompileUnitForHash(), and llvm::DWARFContext::getTypeUnitForHash().
◆ getUnitForOffset()
The documentation for this class was generated from the following files:
- include/llvm/DebugInfo/DWARF/DWARFUnit.h
- lib/DebugInfo/DWARF/DWARFUnit.cpp