Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
clang/lib/AST/ASTContext.cpp
- This file is larger than 256 KB, so syntax highlighting is disabled by default.
Show First 20 Lines • Show All 1,407 Lines • ▼ Show 20 Lines | void ASTContext::InitBuiltinTypes(const TargetInfo &Target, | ||||
LongDoubleComplexTy = getComplexType(LongDoubleTy); | LongDoubleComplexTy = getComplexType(LongDoubleTy); | ||||
Float128ComplexTy = getComplexType(Float128Ty); | Float128ComplexTy = getComplexType(Float128Ty); | ||||
// Builtin types for 'id', 'Class', and 'SEL'. | // Builtin types for 'id', 'Class', and 'SEL'. | ||||
InitBuiltinType(ObjCBuiltinIdTy, BuiltinType::ObjCId); | InitBuiltinType(ObjCBuiltinIdTy, BuiltinType::ObjCId); | ||||
InitBuiltinType(ObjCBuiltinClassTy, BuiltinType::ObjCClass); | InitBuiltinType(ObjCBuiltinClassTy, BuiltinType::ObjCClass); | ||||
InitBuiltinType(ObjCBuiltinSelTy, BuiltinType::ObjCSel); | InitBuiltinType(ObjCBuiltinSelTy, BuiltinType::ObjCSel); | ||||
if (LangOpts.OpenCL) { | if (LangOpts.OpenCL || LangOpts.SYCLIsDevice) { | ||||
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | #define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | ||||
InitBuiltinType(SingletonId, BuiltinType::Id); | InitBuiltinType(SingletonId, BuiltinType::Id); | ||||
#include "clang/Basic/OpenCLImageTypes.def" | #include "clang/Basic/OpenCLImageTypes.def" | ||||
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | |||||
InitBuiltinType(Sampled##SingletonId, BuiltinType::Sampled##Id); | |||||
#define IMAGE_WRITE_TYPE(Type, Id, Ext) | |||||
#define IMAGE_READ_WRITE_TYPE(Type, Id, Ext) | |||||
#include "clang/Basic/OpenCLImageTypes.def" | |||||
InitBuiltinType(OCLSamplerTy, BuiltinType::OCLSampler); | InitBuiltinType(OCLSamplerTy, BuiltinType::OCLSampler); | ||||
InitBuiltinType(OCLEventTy, BuiltinType::OCLEvent); | InitBuiltinType(OCLEventTy, BuiltinType::OCLEvent); | ||||
InitBuiltinType(OCLClkEventTy, BuiltinType::OCLClkEvent); | InitBuiltinType(OCLClkEventTy, BuiltinType::OCLClkEvent); | ||||
InitBuiltinType(OCLQueueTy, BuiltinType::OCLQueue); | InitBuiltinType(OCLQueueTy, BuiltinType::OCLQueue); | ||||
InitBuiltinType(OCLReserveIDTy, BuiltinType::OCLReserveID); | InitBuiltinType(OCLReserveIDTy, BuiltinType::OCLReserveID); | ||||
#define EXT_OPAQUE_TYPE(ExtType, Id, Ext) \ | #define EXT_OPAQUE_TYPE(ExtType, Id, Ext) \ | ||||
▲ Show 20 Lines • Show All 739 Lines • ▼ Show 20 Lines | case Type::Builtin: | ||||
case BuiltinType::OCLSampler: | case BuiltinType::OCLSampler: | ||||
case BuiltinType::OCLEvent: | case BuiltinType::OCLEvent: | ||||
case BuiltinType::OCLClkEvent: | case BuiltinType::OCLClkEvent: | ||||
case BuiltinType::OCLQueue: | case BuiltinType::OCLQueue: | ||||
case BuiltinType::OCLReserveID: | case BuiltinType::OCLReserveID: | ||||
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | #define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | ||||
case BuiltinType::Id: | case BuiltinType::Id: | ||||
#include "clang/Basic/OpenCLImageTypes.def" | #include "clang/Basic/OpenCLImageTypes.def" | ||||
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | |||||
case BuiltinType::Sampled##Id: | |||||
#define IMAGE_WRITE_TYPE(Type, Id, Ext) | |||||
#define IMAGE_READ_WRITE_TYPE(Type, Id, Ext) | |||||
#include "clang/Basic/OpenCLImageTypes.def" | |||||
#define EXT_OPAQUE_TYPE(ExtType, Id, Ext) \ | #define EXT_OPAQUE_TYPE(ExtType, Id, Ext) \ | ||||
case BuiltinType::Id: | case BuiltinType::Id: | ||||
#include "clang/Basic/OpenCLExtensionTypes.def" | #include "clang/Basic/OpenCLExtensionTypes.def" | ||||
AS = getTargetAddressSpace( | AS = getTargetAddressSpace( | ||||
Target->getOpenCLTypeAddrSpace(getOpenCLTypeKind(T))); | Target->getOpenCLTypeAddrSpace(getOpenCLTypeKind(T))); | ||||
Width = Target->getPointerWidth(AS); | Width = Target->getPointerWidth(AS); | ||||
Align = Target->getPointerAlign(AS); | Align = Target->getPointerAlign(AS); | ||||
break; | break; | ||||
▲ Show 20 Lines • Show All 4,569 Lines • ▼ Show 20 Lines | if (!BT) { | ||||
return OCLTK_Default; | return OCLTK_Default; | ||||
} | } | ||||
switch (BT->getKind()) { | switch (BT->getKind()) { | ||||
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | #define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | ||||
case BuiltinType::Id: \ | case BuiltinType::Id: \ | ||||
return OCLTK_Image; | return OCLTK_Image; | ||||
#include "clang/Basic/OpenCLImageTypes.def" | #include "clang/Basic/OpenCLImageTypes.def" | ||||
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | |||||
case BuiltinType::Sampled##Id: \ | |||||
return OCLTK_Image; | |||||
#define IMAGE_WRITE_TYPE(Type, Id, Ext) | |||||
#define IMAGE_READ_WRITE_TYPE(Type, Id, Ext) | |||||
#include "clang/Basic/OpenCLImageTypes.def" | |||||
case BuiltinType::OCLClkEvent: | case BuiltinType::OCLClkEvent: | ||||
return OCLTK_ClkEvent; | return OCLTK_ClkEvent; | ||||
case BuiltinType::OCLEvent: | case BuiltinType::OCLEvent: | ||||
return OCLTK_Event; | return OCLTK_Event; | ||||
case BuiltinType::OCLQueue: | case BuiltinType::OCLQueue: | ||||
▲ Show 20 Lines • Show All 568 Lines • ▼ Show 20 Lines | #include "clang/Basic/RISCVVTypes.def" | ||||
case BuiltinType::ObjCClass: | case BuiltinType::ObjCClass: | ||||
case BuiltinType::ObjCSel: | case BuiltinType::ObjCSel: | ||||
llvm_unreachable("@encoding ObjC primitive type"); | llvm_unreachable("@encoding ObjC primitive type"); | ||||
// OpenCL and placeholder types don't need @encodings. | // OpenCL and placeholder types don't need @encodings. | ||||
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | #define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | ||||
case BuiltinType::Id: | case BuiltinType::Id: | ||||
#include "clang/Basic/OpenCLImageTypes.def" | #include "clang/Basic/OpenCLImageTypes.def" | ||||
#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ | |||||
case BuiltinType::Sampled##Id: | |||||
#define IMAGE_WRITE_TYPE(Type, Id, Ext) | |||||
#define IMAGE_READ_WRITE_TYPE(Type, Id, Ext) | |||||
#include "clang/Basic/OpenCLImageTypes.def" | |||||
#define EXT_OPAQUE_TYPE(ExtType, Id, Ext) \ | #define EXT_OPAQUE_TYPE(ExtType, Id, Ext) \ | ||||
case BuiltinType::Id: | case BuiltinType::Id: | ||||
#include "clang/Basic/OpenCLExtensionTypes.def" | #include "clang/Basic/OpenCLExtensionTypes.def" | ||||
case BuiltinType::OCLEvent: | case BuiltinType::OCLEvent: | ||||
case BuiltinType::OCLClkEvent: | case BuiltinType::OCLClkEvent: | ||||
case BuiltinType::OCLQueue: | case BuiltinType::OCLQueue: | ||||
case BuiltinType::OCLReserveID: | case BuiltinType::OCLReserveID: | ||||
case BuiltinType::OCLSampler: | case BuiltinType::OCLSampler: | ||||
▲ Show 20 Lines • Show All 4,478 Lines • Show Last 20 Lines |