LLDB mainline
|
#include "lldb/DataFormatters/VectorType.h"
#include "lldb/DataFormatters/FormattersHelpers.h"
#include "lldb/Symbol/CompilerType.h"
#include "lldb/Symbol/TypeSystem.h"
#include "lldb/Target/Target.h"
#include "lldb/ValueObject/ValueObject.h"
#include "lldb/ValueObject/ValueObjectConstResult.h"
#include "lldb/Utility/LLDBAssert.h"
#include "lldb/Utility/Log.h"
#include <optional>
Go to the source code of this file.
Classes | |
class | lldb_private::formatters::VectorTypeSyntheticFrontEnd |
Namespaces | |
namespace | lldb_private |
A class that represents a running process on the host machine. | |
namespace | lldb_private::formatters |
Functions | |
static CompilerType | GetCompilerTypeForFormat (lldb::Format format, CompilerType element_type, TypeSystemSP type_system) |
static lldb::Format | GetItemFormatForFormat (lldb::Format format, CompilerType element_type) |
static std::optional< size_t > | CalculateNumChildren (CompilerType container_elem_type, uint64_t num_elements, CompilerType element_type) |
Calculates the number of elements stored in a container (with element type 'container_elem_type') as if it had elements of type 'element_type'. | |
|
static |
Calculates the number of elements stored in a container (with element type 'container_elem_type') as if it had elements of type 'element_type'.
For example, a container of type uint8_t __attribute__((vector_size(16)))
has 16 elements. But calling CalculateNumChildren
with an 'element_type' of float
(4-bytes) will return 4
because we are interpreting the byte-array as a float32[]
.
[in] | container_elem_type | The type of the elements stored in the container we are calculating the children of. |
[in] | num_elements | Number of 'container_elem_type's our container stores. |
[in] | element_type | The type of elements we interpret container_type to contain for the purposes of calculating the number of children. |
Definition at line 198 of file VectorType.cpp.
References lldb_private::CompilerType::GetByteSize().
|
static |
Definition at line 26 of file VectorType.cpp.
References lldb::eBasicTypeBool, lldb::eBasicTypeChar, lldb::eBasicTypeFloat, lldb::eBasicTypeFloatComplex, lldb::eBasicTypeInt, lldb::eBasicTypeUnsignedInt, lldb::eEncodingIEEE754, lldb::eEncodingSint, lldb::eEncodingUint, lldb::eFormatAddressInfo, lldb::eFormatBinary, lldb::eFormatBoolean, lldb::eFormatBytes, lldb::eFormatBytesWithASCII, lldb::eFormatChar, lldb::eFormatCharArray, lldb::eFormatCharPrintable, lldb::eFormatComplex, lldb::eFormatComplexInteger, lldb::eFormatCString, lldb::eFormatDecimal, lldb::eFormatDefault, lldb::eFormatEnum, lldb::eFormatFloat, lldb::eFormatHex, lldb::eFormatHexFloat, lldb::eFormatHexUppercase, lldb::eFormatInstruction, lldb::eFormatOctal, lldb::eFormatOSType, lldb::eFormatPointer, lldb::eFormatUnicode16, lldb::eFormatUnicode32, lldb::eFormatUnsigned, lldb::eFormatVectorOfChar, lldb::eFormatVectorOfFloat32, lldb::eFormatVectorOfFloat64, lldb::eFormatVectorOfSInt16, lldb::eFormatVectorOfSInt32, lldb::eFormatVectorOfSInt64, lldb::eFormatVectorOfSInt8, lldb::eFormatVectorOfUInt128, lldb::eFormatVectorOfUInt16, lldb::eFormatVectorOfUInt32, lldb::eFormatVectorOfUInt64, lldb::eFormatVectorOfUInt8, lldb::eFormatVoid, and lldbassert.
Referenced by lldb_private::formatters::VectorTypeSyntheticFrontEnd::Update().
|
static |
Definition at line 126 of file VectorType.cpp.
References lldb::eFormatBinary, lldb::eFormatChar, lldb::eFormatComplexInteger, lldb::eFormatDecimal, lldb::eFormatDefault, lldb::eFormatEnum, lldb::eFormatFloat, lldb::eFormatHex, lldb::eFormatInstruction, lldb::eFormatOSType, lldb::eFormatUnsigned, lldb::eFormatVectorOfChar, lldb::eFormatVectorOfFloat32, lldb::eFormatVectorOfFloat64, lldb::eFormatVectorOfSInt16, lldb::eFormatVectorOfSInt32, lldb::eFormatVectorOfSInt64, lldb::eFormatVectorOfSInt8, lldb::eFormatVectorOfUInt128, lldb::eFormatVectorOfUInt16, lldb::eFormatVectorOfUInt32, lldb::eFormatVectorOfUInt64, lldb::eFormatVectorOfUInt8, lldb::eFormatVoid, lldb_private::CompilerType::IsCharType(), and lldb_private::CompilerType::IsIntegerType().
Referenced by lldb_private::formatters::VectorTypeSyntheticFrontEnd::Update().