diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2014-11-24 09:15:30 +0000 |
| commit | 9f4dbff6669c8037f3b036bcf580d14f1a4f12a5 (patch) | |
| tree | 47df2c12b57214af6c31e47404b005675b8b7ffc /lib/CodeGen/CGOpenCLRuntime.cpp | |
| parent | f73d5f23a889b93d89ddef61ac0995df40286bb8 (diff) | |
Notes
Diffstat (limited to 'lib/CodeGen/CGOpenCLRuntime.cpp')
| -rw-r--r-- | lib/CodeGen/CGOpenCLRuntime.cpp | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/lib/CodeGen/CGOpenCLRuntime.cpp b/lib/CodeGen/CGOpenCLRuntime.cpp index 7c454ac7c695..079ef7234d9c 100644 --- a/lib/CodeGen/CGOpenCLRuntime.cpp +++ b/lib/CodeGen/CGOpenCLRuntime.cpp @@ -33,32 +33,35 @@ llvm::Type *CGOpenCLRuntime::convertOpenCLSpecificType(const Type *T) { assert(T->isOpenCLSpecificType() && "Not an OpenCL specific type!"); + llvm::LLVMContext& Ctx = CGM.getLLVMContext(); + uint32_t ImgAddrSpc = + CGM.getContext().getTargetAddressSpace(LangAS::opencl_global); switch (cast<BuiltinType>(T)->getKind()) { default: llvm_unreachable("Unexpected opencl builtin type!"); - return 0; + return nullptr; case BuiltinType::OCLImage1d: return llvm::PointerType::get(llvm::StructType::create( - CGM.getLLVMContext(), "opencl.image1d_t"), 0); + Ctx, "opencl.image1d_t"), ImgAddrSpc); case BuiltinType::OCLImage1dArray: return llvm::PointerType::get(llvm::StructType::create( - CGM.getLLVMContext(), "opencl.image1d_array_t"), 0); + Ctx, "opencl.image1d_array_t"), ImgAddrSpc); case BuiltinType::OCLImage1dBuffer: return llvm::PointerType::get(llvm::StructType::create( - CGM.getLLVMContext(), "opencl.image1d_buffer_t"), 0); + Ctx, "opencl.image1d_buffer_t"), ImgAddrSpc); case BuiltinType::OCLImage2d: return llvm::PointerType::get(llvm::StructType::create( - CGM.getLLVMContext(), "opencl.image2d_t"), 0); + Ctx, "opencl.image2d_t"), ImgAddrSpc); case BuiltinType::OCLImage2dArray: return llvm::PointerType::get(llvm::StructType::create( - CGM.getLLVMContext(), "opencl.image2d_array_t"), 0); + Ctx, "opencl.image2d_array_t"), ImgAddrSpc); case BuiltinType::OCLImage3d: return llvm::PointerType::get(llvm::StructType::create( - CGM.getLLVMContext(), "opencl.image3d_t"), 0); + Ctx, "opencl.image3d_t"), ImgAddrSpc); case BuiltinType::OCLSampler: - return llvm::IntegerType::get(CGM.getLLVMContext(),32); + return llvm::IntegerType::get(Ctx, 32); case BuiltinType::OCLEvent: return llvm::PointerType::get(llvm::StructType::create( - CGM.getLLVMContext(), "opencl.event_t"), 0); + Ctx, "opencl.event_t"), 0); } } |
