summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Basic')
-rw-r--r--clang/lib/Basic/TargetInfo.cpp21
-rw-r--r--clang/lib/Basic/Targets/AMDGPU.h23
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);
}
}
OpenPOWER on IntegriCloud