clang API Documentation
#include <Type.h>
Public Types | |
enum | VectorKind { GenericVector, AltiVecVector, AltiVecPixel, AltiVecBool, NeonVector, NeonPolyVector } |
Public Member Functions | |
QualType | getElementType () const |
unsigned | getNumElements () const |
bool | isSugared () const |
QualType | desugar () const |
VectorKind | getVectorKind () const |
void | Profile (llvm::FoldingSetNodeID &ID) |
Static Public Member Functions | |
static bool | isVectorSizeTooLarge (unsigned NumElements) |
static void | Profile (llvm::FoldingSetNodeID &ID, QualType ElementType, unsigned NumElements, TypeClass TypeClass, VectorKind VecKind) |
static bool | classof (const Type *T) |
Protected Member Functions | |
VectorType (QualType vecType, unsigned nElements, QualType canonType, VectorKind vecKind) | |
VectorType (TypeClass tc, QualType vecType, unsigned nElements, QualType canonType, VectorKind vecKind) | |
Protected Attributes | |
QualType | ElementType |
ElementType - The element type of the vector. | |
Friends | |
class | ASTContext |
VectorType - GCC generic vector type. This type is created using __attribute__((vector_size(n)), where "n" specifies the vector size in bytes; or from an Altivec __vector or vector declaration. Since the constructor takes the number of vector elements, the client is responsible for converting the size into the number of elements.
VectorType::VectorType | ( | QualType | vecType, |
unsigned | nElements, | ||
QualType | canonType, | ||
VectorKind | vecKind | ||
) | [protected] |
Definition at line 171 of file Type.cpp.
References clang::Type::VectorTypeBits.
VectorType::VectorType | ( | TypeClass | tc, |
QualType | vecType, | ||
unsigned | nElements, | ||
QualType | canonType, | ||
VectorKind | vecKind | ||
) | [protected] |
Definition at line 183 of file Type.cpp.
References clang::Type::VectorTypeBits.
static bool clang::VectorType::classof | ( | const Type * | T | ) | [inline, static] |
Reimplemented in clang::ExtVectorType.
Definition at line 2583 of file Type.h.
References clang::Type::getTypeClass().
QualType clang::VectorType::desugar | ( | ) | const [inline] |
Reimplemented in clang::ExtVectorType.
QualType clang::VectorType::getElementType | ( | ) | const [inline] |
Definition at line 2557 of file Type.h.
Referenced by clang::ASTContext::areCompatibleVectorTypes(), areCompatVectorTypes(), CheckExtVectorComponent(), clang::Sema::CheckVectorOperands(), clang::CodeGen::CodeGenTypes::ConvertType(), ConvertTypeToDiagnosticString(), DeduceTemplateArgumentsByTypeMatch(), clang::CodeGen::CodeGenFunction::EmitArraySubscriptExpr(), clang::CodeGen::CodeGenFunction::EmitExtVectorElementLValue(), clang::Sema::GetSignedVectorType(), IsStructurallyEquivalent(), clang::ASTNodeImporter::VisitExtVectorType(), and clang::ASTNodeImporter::VisitVectorType().
unsigned clang::VectorType::getNumElements | ( | ) | const [inline] |
Definition at line 2558 of file Type.h.
Referenced by clang::ASTContext::areCompatibleVectorTypes(), areCompatVectorTypes(), CheckExtVectorComponent(), clang::CodeGen::CodeGenTypes::ConvertType(), ConvertTypeToDiagnosticString(), DeduceTemplateArgumentsByTypeMatch(), clang::CodeGen::CodeGenFunction::EmitLoadOfExtVectorElementLValue(), clang::Sema::GetSignedVectorType(), IsStructurallyEquivalent(), clang::ASTNodeImporter::VisitExtVectorType(), and clang::ASTNodeImporter::VisitVectorType().
VectorKind clang::VectorType::getVectorKind | ( | ) | const [inline] |
Definition at line 2566 of file Type.h.
Referenced by clang::ASTContext::areCompatibleVectorTypes(), clang::Sema::BuildVectorLiteral(), clang::Sema::CheckVectorCompareOperands(), IsStructurallyEquivalent(), and clang::ASTNodeImporter::VisitVectorType().
bool clang::VectorType::isSugared | ( | ) | const [inline] |
Reimplemented in clang::ExtVectorType.
static bool clang::VectorType::isVectorSizeTooLarge | ( | unsigned | NumElements | ) | [inline, static] |
Definition at line 2559 of file Type.h.
Referenced by clang::Sema::BuildExtVectorType(), and HandleVectorSizeAttr().
void clang::VectorType::Profile | ( | llvm::FoldingSetNodeID & | ID | ) | [inline] |
Definition at line 2570 of file Type.h.
References getElementType().
Referenced by clang::ASTContext::getExtVectorType(), and clang::ASTContext::getVectorType().
static void clang::VectorType::Profile | ( | llvm::FoldingSetNodeID & | ID, |
QualType | ElementType, | ||
unsigned | NumElements, | ||
TypeClass | TypeClass, | ||
VectorKind | VecKind | ||
) | [inline, static] |
Definition at line 2574 of file Type.h.
References clang::QualType::getAsOpaquePtr().
friend class ASTContext [friend] |
Reimplemented from clang::Type.
Reimplemented in clang::ExtVectorType.
QualType clang::VectorType::ElementType [protected] |