Lines Matching refs:Type
29 #include "llvm/IR/Type.h"
75 {ObjectDataType, "RS_TYPE", "TYPE", 32, "Type", "Type", NULL, NULL, false},
166 static const clang::Type *TypeExportableHelper(
167 const clang::Type *T,
168 llvm::SmallPtrSet<const clang::Type*, 8>& SPS,
193 static const clang::Type *ConstantArrayTypeExportableHelper(
195 llvm::SmallPtrSet<const clang::Type*, 8>& SPS,
200 const clang::Type *ElementType = GetConstantArrayElementType(CAT);
210 const clang::Type *BaseElementType = GetExtVectorElementType(EVT);
241 static const clang::Type *TypeExportableHelper(
242 clang::Type const *T,
243 llvm::SmallPtrSet<clang::Type const *, 8> &SPS,
254 const clang::Type *CTI = T->getCanonicalTypeInternal().getTypePtr();
257 case clang::Type::Builtin: {
261 case clang::Type::Record: {
308 const clang::Type *FT = RSExportType::GetTypeOfDecl(FD);
329 case clang::Type::Pointer: {
337 const clang::Type *PointeeType = GetPointeeType(PT);
339 if (PointeeType->getTypeClass() == clang::Type::Pointer) {
353 case clang::Type::ExtVector: {
361 const clang::Type *ElementType = GetExtVectorElementType(EVT);
363 if ((ElementType->getTypeClass() != clang::Type::Builtin) ||
370 case clang::Type::ConstantArray: {
377 case clang::Type::Enum: {
391 // If the Type T is not exportable, this function returns NULL. DiagEngine is
396 static const clang::Type *TypeExportable(const clang::Type *T,
399 llvm::SmallPtrSet<const clang::Type*, 8> SPS =
400 llvm::SmallPtrSet<const clang::Type*, 8>();
415 const clang::Type *T = GetCanonicalType(VD->getType().getTypePtr());
416 if (T->getTypeClass() != clang::Type::Pointer) {
447 const clang::Type *&T,
450 llvm::SmallPtrSet<const clang::Type*, 8>& SPS,
461 const clang::Type *CTI = T->getCanonicalTypeInternal().getTypePtr();
464 case clang::Type::Record: {
517 const clang::Type *FT = RSExportType::GetTypeOfDecl(FD);
529 case clang::Type::Builtin: {
554 case clang::Type::Pointer: {
570 const clang::Type *PointeeType = GetPointeeType(PT);
577 case clang::Type::ExtVector: {
580 const clang::Type *ElementType = GetExtVectorElementType(EVT);
595 case clang::Type::ConstantArray: {
597 const clang::Type *ElementType = GetConstantArrayElementType(CAT);
623 bool RSExportType::NormalizeType(const clang::Type *&T,
649 const clang::Type *T = QT.getTypePtr();
650 llvm::SmallPtrSet<const clang::Type*, 8> SPS =
651 llvm::SmallPtrSet<const clang::Type*, 8>();
665 const clang::Type
678 llvm::StringRef RSExportType::GetTypeName(const clang::Type* T) {
683 const clang::Type *CTI = T->getCanonicalTypeInternal().getTypePtr();
686 case clang::Type::Builtin: {
695 case clang::Type::Record: {
725 case clang::Type::Pointer: {
728 const clang::Type *PT = GetPointeeType(P);
739 case clang::Type::ExtVector: {
745 case clang::Type::ConstantArray : {
759 const clang::Type *T,
769 const clang::Type *CTI = T->getCanonicalTypeInternal().getTypePtr();
773 case clang::Type::Record: {
815 case clang::Type::Builtin: {
819 case clang::Type::Pointer: {
827 case clang::Type::ExtVector: {
833 case clang::Type::ConstantArray: {
849 RSExportType *RSExportType::Create(RSContext *Context, const clang::Type *T) {
910 bool RSExportPrimitiveType::IsPrimitiveType(const clang::Type *T) {
911 if ((T != NULL) && (T->getTypeClass() == clang::Type::Builtin))
936 DataType RSExportPrimitiveType::GetRSSpecificType(const clang::Type *T) {
938 if ((T == NULL) || (T->getTypeClass() != clang::Type::Record))
958 bool RSExportPrimitiveType::IsStructureTypeWithRSObject(const clang::Type *T) {
984 const clang::Type *FT = RSExportType::GetTypeOfDecl(FD);
1031 RSExportPrimitiveType::GetDataType(RSContext *Context, const clang::Type *T) {
1036 case clang::Type::Builtin: {
1049 case clang::Type::Record: {
1065 const clang::Type *T,
1078 const clang::Type *T) {
1088 llvm::Type *RSExportPrimitiveType::convertToLLVMType() const {
1100 std::vector<llvm::Type *> Elements;
1103 Elements.push_back(llvm::ArrayType::get(llvm::Type::getInt64Ty(C), 4));
1107 Elements.push_back(llvm::ArrayType::get(llvm::Type::getInt32Ty(C), 1));
1114 return llvm::Type::getFloatTy(C);
1118 return llvm::Type::getDoubleTy(C);
1122 return llvm::Type::getInt1Ty(C);
1127 return llvm::Type::getInt8Ty(C);
1135 return llvm::Type::getInt16Ty(C);
1140 return llvm::Type::getInt32Ty(C);
1145 return llvm::Type::getInt64Ty(C);
1175 const clang::Type *PointeeType = GetPointeeType(PT);
1178 if (PointeeType->getTypeClass() != clang::Type::Pointer) {
1194 llvm::Type *RSExportPointerType::convertToLLVMType() const {
1195 llvm::Type *PointeeType = mPointeeType->getLLVMType();
1215 const clang::Type *ElementType = GetExtVectorElementType(EVT);
1218 if ((ElementType->getTypeClass() != clang::Type::Builtin))
1245 slangAssert(EVT != NULL && EVT->getTypeClass() == clang::Type::ExtVector);
1247 const clang::Type *ElementType = GetExtVectorElementType(EVT);
1260 llvm::Type *RSExportVectorType::convertToLLVMType() const {
1261 llvm::Type *ElementType = RSExportPrimitiveType::convertToLLVMType();
1276 slangAssert((RT != NULL) && (RT->getTypeClass() == clang::Type::Record));
1295 const clang::Type *FT = RSExportType::GetTypeOfDecl(FD);
1296 if ((FT == NULL) || (FT->getTypeClass() != clang::Type::ConstantArray)) {
1305 const clang::Type *ElementType = GetConstantArrayElementType(CAT);
1307 (ElementType->getTypeClass() != clang::Type::Builtin) ||
1338 llvm::Type *RSExportMatrixType::convertToLLVMType() const {
1345 llvm::ArrayType *X = llvm::ArrayType::get(llvm::Type::getFloatTy(C),
1359 slangAssert(CAT != NULL && CAT->getTypeClass() == clang::Type::ConstantArray);
1366 const clang::Type *ElementType = GetConstantArrayElementType(CAT);
1378 llvm::Type *RSExportConstantArrayType::convertToLLVMType() const {
1402 slangAssert(RT != NULL && RT->getTypeClass() == clang::Type::Record);
1442 // Type
1460 llvm::Type *RSExportRecordType::convertToLLVMType() const {
1464 std::vector<llvm::Type*> FieldTypes;