Describes a memory block created by an allocation site. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Descriptor.h"
Describes a memory block created by an allocation site.
Definition at line 116 of file Descriptor.h.
◆ MetadataSize ◆ Descriptor() [1/7]Allocates a descriptor for a primitive.
Primitives.
Definition at line 313 of file Descriptor.cpp.
◆ Descriptor() [2/7] ◆ Descriptor() [3/7]Allocates a descriptor for an array of primitives of unknown size.
Primitive unknown-size arrays.
Definition at line 339 of file Descriptor.cpp.
◆ Descriptor() [4/7]Allocates a descriptor for an array of composites.
Arrays of composite elements.
Definition at line 351 of file Descriptor.cpp.
◆ Descriptor() [5/7]Allocates a descriptor for an array of composites of unknown size.
Unknown-size arrays of composite elements.
Definition at line 364 of file Descriptor.cpp.
◆ Descriptor() [6/7]Allocates a descriptor for a record.
Composite records.
Definition at line 375 of file Descriptor.cpp.
◆ Descriptor() [7/7] Descriptor::Descriptor ( const DeclTy & D ) ◆ asDecl() const Decl * clang::interp::Descriptor::asDecl ( ) const inline ◆ asExpr() const Expr * clang::interp::Descriptor::asExpr ( ) const inlineDefinition at line 205 of file Descriptor.h.
Referenced by clang::interp::DynamicAllocator::allocate(), clang::interp::CheckNewTypeMismatch(), CheckTemporary(), dump(), clang::interp::Program::dump(), clang::interp::Free(), getType(), clang::interp::InitGlobalTemp(), clang::interp::interp__builtin_assume_aligned(), clang::interp::interp__builtin_operator_delete(), clang::interp::Pointer::pointsToLiteral(), and clang::interp::Pointer::toAPValue().
◆ asFieldDecl() const FieldDecl * clang::interp::Descriptor::asFieldDecl ( ) const inline ◆ asRecordDecl() const RecordDecl * clang::interp::Descriptor::asRecordDecl ( ) const inline ◆ asValueDecl() const ValueDecl * clang::interp::Descriptor::asValueDecl ( ) const inline ◆ asVarDecl() const VarDecl * clang::interp::Descriptor::asVarDecl ( ) const inline ◆ dump() [1/2] LLVM_DUMP_METHOD void Descriptor::dump ( ) const ◆ dump() [2/2] LLVM_DUMP_METHOD void Descriptor::dump ( llvm::raw_ostream & OS ) const ◆ getAllocSize() unsigned clang::interp::Descriptor::getAllocSize ( ) const inline ◆ getElemQualType() QualType Descriptor::getElemQualType ( ) constDefinition at line 408 of file Descriptor.cpp.
References clang::Type::getAs(), clang::Type::getAsArrayTypeUnsafe(), clang::ArrayType::getElementType(), clang::Type::getPointeeType(), getType(), isArray(), clang::Type::isArrayType(), clang::Type::isPointerOrReferenceType(), isPrimitiveArray(), and clang::T.
Referenced by enumerateData(), clang::interp::interp__builtin_elementwise_popcount(), clang::interp::interp__builtin_memcpy(), clang::interp::interp__builtin_vector_reduce(), and clang::interp::Pointer::toAPValue().
◆ getElemSize() unsigned clang::interp::Descriptor::getElemSize ( ) const inline ◆ getLoc() ◆ getLocation() ◆ getMetadataSize() unsigned clang::interp::Descriptor::getMetadataSize ( ) const inline ◆ getNumElems() unsigned clang::interp::Descriptor::getNumElems ( ) const inline ◆ getPrimType() PrimType clang::interp::Descriptor::getPrimType ( ) const inline ◆ getSize() unsigned clang::interp::Descriptor::getSize ( ) const inline ◆ getSource() const DeclTy & clang::interp::Descriptor::getSource ( ) const inline ◆ getType()Definition at line 393 of file Descriptor.cpp.
References asDecl(), asExpr(), asValueDecl(), D, E, ElemRecord, clang::interp::Record::getDecl(), clang::Expr::getType(), clang::TypeDecl::getTypeForDecl(), isRecord(), and clang::T.
Referenced by enumerateData(), getElemQualType(), clang::interp::Pointer::getType(), and clang::interp::interp__builtin_memcmp().
◆ isArray() bool clang::interp::Descriptor::isArray ( ) const inline ◆ isCompositeArray() bool clang::interp::Descriptor::isCompositeArray ( ) const inline ◆ isDummy() bool clang::interp::Descriptor::isDummy ( ) const inline ◆ isPrimitive() bool clang::interp::Descriptor::isPrimitive ( ) const inline ◆ isPrimitiveArray() bool clang::interp::Descriptor::isPrimitiveArray ( ) const inlineChecks if the descriptor is of an array of primitives.
Definition at line 248 of file Descriptor.h.
References ElemDesc, and IsArray.
Referenced by clang::interp::collectBlocks(), clang::interp::copyComposite(), dump(), enumerateData(), getElemQualType(), getPrimType(), clang::interp::Pointer::initialize(), clang::interp::Pointer::inPrimitiveArray(), clang::interp::interp__builtin_elementwise_popcount(), clang::interp::interp__builtin_nan(), clang::interp::interp__builtin_strcmp(), clang::interp::interp__builtin_strlen(), clang::interp::interp__builtin_vector_reduce(), clang::interp::Pointer::isInitialized(), and clang::interp::RunDestructors().
◆ isRecord() bool clang::interp::Descriptor::isRecord ( ) const inline ◆ isUnion() bool Descriptor::isUnion ( ) const ◆ isUnknownSizeArray() bool clang::interp::Descriptor::isUnknownSizeArray ( ) const inline ◆ isZeroSizeArray() bool clang::interp::Descriptor::isZeroSizeArray ( ) const inlineChecks if the descriptor is of an array of zero size.
Definition at line 252 of file Descriptor.h.
Referenced by dump().
◆ makeDummy() void clang::interp::Descriptor::makeDummy ( ) inline ◆ CtorFn const BlockCtorFn clang::interp::Descriptor::CtorFn = nullptr ◆ DtorFn const BlockDtorFn clang::interp::Descriptor::DtorFn = nullptr ◆ ElemDesc const Descriptor* const clang::interp::Descriptor::ElemDesc = nullptr ◆ ElemRecord const Record* const clang::interp::Descriptor::ElemRecord = nullptrPointer to the record, if block contains records.
Definition at line 146 of file Descriptor.h.
Referenced by clang::interp::IntPointer::atOffset(), clang::interp::IntPointer::baseCast(), clang::interp::collectBlocks(), clang::interp::copyRecord(), enumerateData(), clang::interp::Pointer::getElemRecord(), clang::interp::Pointer::getRecord(), getType(), isPrimitive(), isRecord(), isUnion(), and clang::interp::runRecordDestructor().
◆ GlobalMD ◆ InlineDescMD ◆ IsArray const bool clang::interp::Descriptor::IsArray = false ◆ IsConst const bool clang::interp::Descriptor::IsConst = false ◆ IsDummy bool clang::interp::Descriptor::IsDummy = false ◆ IsMutable const bool clang::interp::Descriptor::IsMutable = false ◆ IsTemporary const bool clang::interp::Descriptor::IsTemporary = false ◆ MaxArrayElemBytes constexpr unsigned clang::interp::Descriptor::MaxArrayElemBytes staticconstexpr ◆ MoveFn const BlockMoveFn clang::interp::Descriptor::MoveFn = nullptr ◆ PrimT const std::optional<PrimType> clang::interp::Descriptor::PrimT = std::nulloptThe primitive type this descriptor was created for, or the primitive element type in case this is a primitive array.
Definition at line 152 of file Descriptor.h.
Referenced by getPrimType().
The documentation for this struct was generated from the following files:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4