summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen
diff options
context:
space:
mode:
authorSven van Haastregt <sven.vanhaastregt@arm.com>2017-12-06 10:11:28 +0000
committerSven van Haastregt <sven.vanhaastregt@arm.com>2017-12-06 10:11:28 +0000
commit3bb7eaf72eca331413a21743afa5b67cac50618b (patch)
tree0055f970c86016394883c95a7eb2c13c9b1dec07 /clang/lib/CodeGen
parent898eb34b49e7507a3cc5d9e5e56a8601c289bb4b (diff)
downloadbcm5719-llvm-3bb7eaf72eca331413a21743afa5b67cac50618b.tar.gz
bcm5719-llvm-3bb7eaf72eca331413a21743afa5b67cac50618b.zip
[OpenCL] Fix layering violation by getOpenCLTypeAddrSpace
Commit 7ac28eb0a5 / r310911 ("[OpenCL] Allow targets to select address space per type", 2017-08-15) made Basic depend on AST, introducing a circular dependency. Break this dependency by adding the OpenCLTypeKind enum in Basic and map from AST types to this enum in ASTContext. Differential Revision: https://reviews.llvm.org/D40838 llvm-svn: 319883
Diffstat (limited to 'clang/lib/CodeGen')
-rw-r--r--clang/lib/CodeGen/CGOpenCLRuntime.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/lib/CodeGen/CGOpenCLRuntime.cpp b/clang/lib/CodeGen/CGOpenCLRuntime.cpp
index 4d637615d2c..d140e7f09e9 100644
--- a/clang/lib/CodeGen/CGOpenCLRuntime.cpp
+++ b/clang/lib/CodeGen/CGOpenCLRuntime.cpp
@@ -37,7 +37,7 @@ llvm::Type *CGOpenCLRuntime::convertOpenCLSpecificType(const Type *T) {
llvm::LLVMContext& Ctx = CGM.getLLVMContext();
uint32_t AddrSpc = CGM.getContext().getTargetAddressSpace(
- CGM.getTarget().getOpenCLTypeAddrSpace(T));
+ CGM.getContext().getOpenCLTypeAddrSpace(T));
switch (cast<BuiltinType>(T)->getKind()) {
default:
llvm_unreachable("Unexpected opencl builtin type!");
@@ -68,7 +68,7 @@ llvm::Type *CGOpenCLRuntime::convertOpenCLSpecificType(const Type *T) {
llvm::Type *CGOpenCLRuntime::getPipeType(const PipeType *T) {
if (!PipeTy){
uint32_t PipeAddrSpc = CGM.getContext().getTargetAddressSpace(
- CGM.getTarget().getOpenCLTypeAddrSpace(T));
+ CGM.getContext().getOpenCLTypeAddrSpace(T));
PipeTy = llvm::PointerType::get(llvm::StructType::create(
CGM.getLLVMContext(), "opencl.pipe_t"), PipeAddrSpc);
}
@@ -81,7 +81,7 @@ llvm::PointerType *CGOpenCLRuntime::getSamplerType(const Type *T) {
SamplerTy = llvm::PointerType::get(llvm::StructType::create(
CGM.getLLVMContext(), "opencl.sampler_t"),
CGM.getContext().getTargetAddressSpace(
- CGM.getTarget().getOpenCLTypeAddrSpace(T)));
+ CGM.getContext().getOpenCLTypeAddrSpace(T)));
return SamplerTy;
}
OpenPOWER on IntegriCloud