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] |