Lines Matching refs:Type

29 #include "llvm/IR/Type.h"
75 {ObjectDataType, "RS_TYPE", "TYPE", 32, "Type", "Type", nullptr, nullptr, false},
168 static const clang::Type *TypeExportableHelper(
169 const clang::Type *T,
170 llvm::SmallPtrSet<const clang::Type*, 8>& SPS,
195 static const clang::Type *ConstantArrayTypeExportableHelper(
197 llvm::SmallPtrSet<const clang::Type*, 8>& SPS,
202 const clang::Type *ElementType = GetConstantArrayElementType(CAT);
212 const clang::Type *BaseElementType = GetExtVectorElementType(EVT);
243 static const clang::Type *TypeExportableHelper(
244 clang::Type const *T,
245 llvm::SmallPtrSet<clang::Type const *, 8> &SPS,
256 const clang::Type *CTI = T->getCanonicalTypeInternal().getTypePtr();
259 case clang::Type::Builtin: {
263 case clang::Type::Record: {
310 const clang::Type *FT = RSExportType::GetTypeOfDecl(FD);
331 case clang::Type::Pointer: {
341 const clang::Type *PointeeType = GetPointeeType(PT);
343 if (PointeeType->getTypeClass() == clang::Type::Pointer) {
357 case clang::Type::ExtVector: {
365 const clang::Type *ElementType = GetExtVectorElementType(EVT);
367 if ((ElementType->getTypeClass() != clang::Type::Builtin) ||
374 case clang::Type::ConstantArray: {
381 case clang::Type::Enum: {
396 // If the Type T is not exportable, this function returns nullptr. DiagEngine is
401 static const clang::Type *TypeExportable(const clang::Type *T,
404 llvm::SmallPtrSet<const clang::Type*, 8> SPS =
405 llvm::SmallPtrSet<const clang::Type*, 8>();
420 const clang::Type *T = GetCanonicalType(VD->getType().getTypePtr());
421 if (T->getTypeClass() != clang::Type::Pointer) {
454 const clang::Type *&T,
457 llvm::SmallPtrSet<const clang::Type*, 8>& SPS,
469 const clang::Type *CTI = T->getCanonicalTypeInternal().getTypePtr();
472 case clang::Type::Record: {
525 const clang::Type *FT = RSExportType::GetTypeOfDecl(FD);
537 case clang::Type::Builtin: {
562 case clang::Type::Pointer: {
595 const clang::Type *PointeeType = GetPointeeType(PT);
602 case clang::Type::ExtVector: {
605 const clang::Type *ElementType = GetExtVectorElementType(EVT);
620 case clang::Type::ConstantArray: {
622 const clang::Type *ElementType = GetConstantArrayElementType(CAT);
648 bool RSExportType::NormalizeType(const clang::Type *&T,
675 const clang::Type *T = QT.getTypePtr();
676 llvm::SmallPtrSet<const clang::Type*, 8> SPS =
677 llvm::SmallPtrSet<const clang::Type*, 8>();
700 const clang::Type
713 llvm::StringRef RSExportType::GetTypeName(const clang::Type* T) {
718 const clang::Type *CTI = T->getCanonicalTypeInternal().getTypePtr();
721 case clang::Type::Builtin: {
730 case clang::Type::Record: {
760 case clang::Type::Pointer: {
763 const clang::Type *PT = GetPointeeType(P);
774 case clang::Type::ExtVector: {
780 case clang::Type::ConstantArray : {
794 const clang::Type *T,
804 const clang::Type *CTI = T->getCanonicalTypeInternal().getTypePtr();
808 case clang::Type::Record: {
850 case clang::Type::Builtin: {
854 case clang::Type::Pointer: {
862 case clang::Type::ExtVector: {
868 case clang::Type::ConstantArray: {
884 RSExportType *RSExportType::Create(RSContext *Context, const clang::Type *T) {
945 bool RSExportPrimitiveType::IsPrimitiveType(const clang::Type *T) {
946 if ((T != nullptr) && (T->getTypeClass() == clang::Type::Builtin))
971 DataType RSExportPrimitiveType::GetRSSpecificType(const clang::Type *T) {
973 if ((T == nullptr) || (T->getTypeClass() != clang::Type::Record))
993 bool RSExportPrimitiveType::IsStructureTypeWithRSObject(const clang::Type *T) {
1019 const clang::Type *FT = RSExportType::GetTypeOfDecl(FD);
1066 RSExportPrimitiveType::GetDataType(RSContext *Context, const clang::Type *T) {
1071 case clang::Type::Builtin: {
1084 case clang::Type::Record: {
1100 const clang::Type *T,
1113 const clang::Type *T) {
1123 llvm::Type *RSExportPrimitiveType::convertToLLVMType() const {
1135 std::vector<llvm::Type *> Elements;
1138 Elements.push_back(llvm::ArrayType::get(llvm::Type::getInt64Ty(C), 4));
1142 Elements.push_back(llvm::ArrayType::get(llvm::Type::getInt32Ty(C), 1));
1149 return llvm::Type::getHalfTy(C);
1153 return llvm::Type::getFloatTy(C);
1157 return llvm::Type::getDoubleTy(C);
1161 return llvm::Type::getInt1Ty(C);
1166 return llvm::Type::getInt8Ty(C);
1174 return llvm::Type::getInt16Ty(C);
1179 return llvm::Type::getInt32Ty(C);
1184 return llvm::Type::getInt64Ty(C);
1214 const clang::Type *PointeeType = GetPointeeType(PT);
1217 if (PointeeType->getTypeClass() != clang::Type::Pointer) {
1233 llvm::Type *RSExportPointerType::convertToLLVMType() const {
1234 llvm::Type *PointeeType = mPointeeType->getLLVMType();
1254 const clang::Type *ElementType = GetExtVectorElementType(EVT);
1257 if ((ElementType->getTypeClass() != clang::Type::Builtin))
1284 slangAssert(EVT != nullptr && EVT->getTypeClass() == clang::Type::ExtVector);
1286 const clang::Type *ElementType = GetExtVectorElementType(EVT);
1299 llvm::Type *RSExportVectorType::convertToLLVMType() const {
1300 llvm::Type *ElementType = RSExportPrimitiveType::convertToLLVMType();
1315 slangAssert((RT != nullptr) && (RT->getTypeClass() == clang::Type::Record));
1334 const clang::Type *FT = RSExportType::GetTypeOfDecl(FD);
1335 if ((FT == nullptr) || (FT->getTypeClass() != clang::Type::ConstantArray)) {
1344 const clang::Type *ElementType = GetConstantArrayElementType(CAT);
1346 (ElementType->getTypeClass() != clang::Type::Builtin) ||
1377 llvm::Type *RSExportMatrixType::convertToLLVMType() const {
1384 llvm::ArrayType *X = llvm::ArrayType::get(llvm::Type::getFloatTy(C),
1398 slangAssert(CAT != nullptr && CAT->getTypeClass() == clang::Type::ConstantArray);
1405 const clang::Type *ElementType = GetConstantArrayElementType(CAT);
1417 llvm::Type *RSExportConstantArrayType::convertToLLVMType() const {
1441 slangAssert(RT != nullptr && RT->getTypeClass() == clang::Type::Record);
1481 // Type
1499 llvm::Type *RSExportRecordType::convertToLLVMType() const {
1503 std::vector<llvm::Type*> FieldTypes;