diff options
author | Alexey Sotkin <alexey.sotkin@intel.com> | 2018-11-14 09:40:05 +0000 |
---|---|---|
committer | Alexey Sotkin <alexey.sotkin@intel.com> | 2018-11-14 09:40:05 +0000 |
commit | 692f12b389d70d921d578fd6aba5eeb451e4b6ec (patch) | |
tree | 78187b4cf6a2579f3fe0046fc9841756f02a0dad /clang/lib/CodeGen/CGBuiltin.cpp | |
parent | 91829eef650fdad7b2d566bf3f0cb623fd4bad09 (diff) | |
download | bcm5719-llvm-692f12b389d70d921d578fd6aba5eeb451e4b6ec.tar.gz bcm5719-llvm-692f12b389d70d921d578fd6aba5eeb451e4b6ec.zip |
[OpenCL] Fix invalid address space generation for clk_event_t
Summary:
Addrspace(32) was generated when putting 0 in clk_event_t * event_ret
parameter for enqueue_kernel function.
Patch by Viktoria Maksimova
Reviewers: Anastasia, yaxunl, AlexeySotkin
Reviewed By: Anastasia, AlexeySotkin
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D53809
llvm-svn: 346838
Diffstat (limited to 'clang/lib/CodeGen/CGBuiltin.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGBuiltin.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGBuiltin.cpp b/clang/lib/CodeGen/CGBuiltin.cpp index b7581ee54b2..5291dc9a488 100644 --- a/clang/lib/CodeGen/CGBuiltin.cpp +++ b/clang/lib/CodeGen/CGBuiltin.cpp @@ -3610,7 +3610,9 @@ RValue CodeGenFunction::EmitBuiltinExpr(const GlobalDecl GD, unsigned BuiltinID, llvm::Value *ClkEvent = EmitScalarExpr(E->getArg(5)); // Convert to generic address space. EventList = Builder.CreatePointerCast(EventList, EventPtrTy); - ClkEvent = Builder.CreatePointerCast(ClkEvent, EventPtrTy); + ClkEvent = ClkEvent->getType()->isIntegerTy() + ? Builder.CreateBitOrPointerCast(ClkEvent, EventPtrTy) + : Builder.CreatePointerCast(ClkEvent, EventPtrTy); auto Info = CGM.getOpenCLRuntime().emitOpenCLEnqueuedBlock(*this, E->getArg(6)); llvm::Value *Kernel = |