diff options
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r-- | clang/lib/Basic/TargetInfo.cpp | 21 | ||||
-rw-r--r-- | clang/lib/Basic/Targets/AMDGPU.h | 23 |
2 files changed, 13 insertions, 31 deletions
diff --git a/clang/lib/Basic/TargetInfo.cpp b/clang/lib/Basic/TargetInfo.cpp index 4d7387168e4..ddd292c1b74 100644 --- a/clang/lib/Basic/TargetInfo.cpp +++ b/clang/lib/Basic/TargetInfo.cpp @@ -12,7 +12,6 @@ //===----------------------------------------------------------------------===// #include "clang/Basic/TargetInfo.h" -#include "clang/AST/Type.h" #include "clang/Basic/AddressSpaces.h" #include "clang/Basic/CharInfo.h" #include "clang/Basic/LangOptions.h" @@ -357,23 +356,13 @@ bool TargetInfo::initFeatureMap( return true; } -LangAS TargetInfo::getOpenCLTypeAddrSpace(const Type *T) const { - auto BT = dyn_cast<BuiltinType>(T); - - if (!BT) { - if (isa<PipeType>(T)) - return LangAS::opencl_global; - - return LangAS::Default; - } - - switch (BT->getKind()) { -#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ - case BuiltinType::Id: \ +LangAS TargetInfo::getOpenCLTypeAddrSpace(OpenCLTypeKind TK) const { + switch (TK) { + case OCLTK_Image: + case OCLTK_Pipe: return LangAS::opencl_global; -#include "clang/Basic/OpenCLImageTypes.def" - case BuiltinType::OCLSampler: + case OCLTK_Sampler: return LangAS::opencl_constant; default: diff --git a/clang/lib/Basic/Targets/AMDGPU.h b/clang/lib/Basic/Targets/AMDGPU.h index 4cbf0f202ec..a4e070f1cb1 100644 --- a/clang/lib/Basic/Targets/AMDGPU.h +++ b/clang/lib/Basic/Targets/AMDGPU.h @@ -14,7 +14,6 @@ #ifndef LLVM_CLANG_LIB_BASIC_TARGETS_AMDGPU_H #define LLVM_CLANG_LIB_BASIC_TARGETS_AMDGPU_H -#include "clang/AST/Type.h" #include "clang/Basic/TargetInfo.h" #include "clang/Basic/TargetOptions.h" #include "llvm/ADT/StringSet.h" @@ -258,24 +257,18 @@ public: } } - LangAS getOpenCLTypeAddrSpace(const Type *T) const override { - auto BT = dyn_cast<BuiltinType>(T); + LangAS getOpenCLTypeAddrSpace(OpenCLTypeKind TK) const override { + switch (TK) { + case OCLTK_Image: + return LangAS::opencl_constant; - if (!BT) - return TargetInfo::getOpenCLTypeAddrSpace(T); - - switch (BT->getKind()) { -#define IMAGE_TYPE(ImgType, Id, SingletonId, Access, Suffix) \ - case BuiltinType::Id: \ - return LangAS::opencl_constant; -#include "clang/Basic/OpenCLImageTypes.def" - case BuiltinType::OCLClkEvent: - case BuiltinType::OCLQueue: - case BuiltinType::OCLReserveID: + case OCLTK_ClkEvent: + case OCLTK_Queue: + case OCLTK_ReserveID: return LangAS::opencl_global; default: - return TargetInfo::getOpenCLTypeAddrSpace(T); + return TargetInfo::getOpenCLTypeAddrSpace(TK); } } |