r308313 - CodeGen: Insert addr space cast for automatic/temp var at right position

2017-07-18 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Tue Jul 18 07:46:03 2017 New Revision: 308313 URL: http://llvm.org/viewvc/llvm-project?rev=308313&view=rev Log: CodeGen: Insert addr space cast for automatic/temp var at right position The uses of alloca may be in different blocks other than the block containing the alloca.

r324102 - [AMDGPU] Switch to the new addr space mapping by default

2018-02-02 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Fri Feb 2 08:08:24 2018 New Revision: 324102 URL: http://llvm.org/viewvc/llvm-project?rev=324102&view=rev Log: [AMDGPU] Switch to the new addr space mapping by default This requires corresponding llvm change. Differential Revision: https://reviews.llvm.org/D40956 Modified:

r297436 - [AMDGPU] Add builtin functions readlane ds_permute mov_dpp

2017-03-09 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Thu Mar 9 19:30:46 2017 New Revision: 297436 URL: http://llvm.org/viewvc/llvm-project?rev=297436&view=rev Log: [AMDGPU] Add builtin functions readlane ds_permute mov_dpp Differential Revision: https://reviews.llvm.org/D30551 Modified: cfe/trunk/include/clang/Basic/Built

[PATCH] D26196: Add support for non-zero null pointer for C and OpenCL

2016-11-22 Thread Yaxun Liu via cfe-commits
yaxunl marked 3 inline comments as done. yaxunl added a comment. > But if you do need to support these conversions for some reason, the correct > behavior is to ensure that null is mapped to null. I only need to do this for constant folding, right? I found that the current implementation is alr

r289252 - Add support for non-zero null pointer for C and OpenCL

2016-12-09 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Fri Dec 9 13:01:11 2016 New Revision: 289252 URL: http://llvm.org/viewvc/llvm-project?rev=289252&view=rev Log: Add support for non-zero null pointer for C and OpenCL In amdgcn target, null pointers in global, constant, and generic address space take value 0 but null pointer

r303072 - [OpenCL] Emit function-scope variable in constant address space as static variable

2017-05-15 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Mon May 15 09:47:47 2017 New Revision: 303072 URL: http://llvm.org/viewvc/llvm-project?rev=303072&view=rev Log: [OpenCL] Emit function-scope variable in constant address space as static variable Differential Revision: https://reviews.llvm.org/D32977 Modified: cfe/trunk/

r303370 - CodeGen: Cast alloca to expected address space

2017-05-18 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Thu May 18 13:51:09 2017 New Revision: 303370 URL: http://llvm.org/viewvc/llvm-project?rev=303370&view=rev Log: CodeGen: Cast alloca to expected address space Alloca always returns a pointer in alloca address space, which may be different from the type defined by the language

r303644 - [AMDGPU] Do not require opencl triple environment for OpenCL

2017-05-23 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Tue May 23 11:15:53 2017 New Revision: 303644 URL: http://llvm.org/viewvc/llvm-project?rev=303644&view=rev Log: [AMDGPU] Do not require opencl triple environment for OpenCL A recent change requires opencl triple environment for compiling OpenCL program, which causes regressio

[PATCH] D25343: [OpenCL] Mark group functions as convergent in opencl-c.h

2016-10-19 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 75203. yaxunl marked 4 inline comments as done. yaxunl added a comment. Fix typo in test. https://reviews.llvm.org/D25343 Files: include/clang/Basic/Attr.td include/clang/Basic/AttrDocs.td lib/CodeGen/CGCall.cpp lib/Headers/opencl-c.h lib/Sema/Sema

[PATCH] D25343: [OpenCL] Mark group functions as convergent in opencl-c.h

2016-10-19 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. > Should we deprecate noduplicate then as convergent should cover both use > cases for OpenCL I believe? As far as I understand noduplicate was added > specifically for SPMD use cases... noduplicate has different semantics than convergent. Although it is proposed for SP

[PATCH] D25920: AMDGPU: Add missing ISA versions gfx7.x.x and 8.x.x.

2016-10-24 Thread Yaxun Liu via cfe-commits
yaxunl created this revision. yaxunl added reviewers: tstellarAMD, arsenm. yaxunl added a subscriber: cfe-commits. Herald added subscribers: tony-tye, wdng, kzhuravl. Patch by Laurent Morichetti. https://reviews.llvm.org/D25920 Files: lib/Basic/Targets.cpp Index: lib/Basic/Targets.cpp =

[PATCH] D25935: [OpenCL] Diagnose variadic arguments

2016-10-25 Thread Yaxun Liu via cfe-commits
yaxunl accepted this revision. yaxunl added a comment. This revision is now accepted and ready to land. LGTM. Thanks. https://reviews.llvm.org/D25935 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listi

[PATCH] D25954: [OpenCL] Add missing atom_xor for 64 bit to opencl-c.h

2016-10-25 Thread Yaxun Liu via cfe-commits
yaxunl created this revision. yaxunl added a reviewer: Anastasia. yaxunl added subscribers: cfe-commits, b-sumner. https://reviews.llvm.org/D25954 Files: lib/Headers/opencl-c.h Index: lib/Headers/opencl-c.h === --- lib/Headers/op

r285125 - [OpenCL] Add missing atom_xor for 64 bit to opencl-c.h

2016-10-25 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Tue Oct 25 16:37:05 2016 New Revision: 285125 URL: http://llvm.org/viewvc/llvm-project?rev=285125&view=rev Log: [OpenCL] Add missing atom_xor for 64 bit to opencl-c.h Differential Revision: https://reviews.llvm.org/D25954 Modified: cfe/trunk/lib/Headers/opencl-c.h Modif

[PATCH] D25954: [OpenCL] Add missing atom_xor for 64 bit to opencl-c.h

2016-10-25 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL285125: [OpenCL] Add missing atom_xor for 64 bit to opencl-c.h (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D25954?vs=75740&id=75797#toc Repository: rL LLVM https://review

[PATCH] D25920: AMDGPU: Add missing ISA versions gfx7.x.x and 8.x.x.

2016-10-26 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL285211: AMDGPU: Add missing ISA versions gfx7.x.x and 8.x.x. (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D25920?vs=75627&id=75912#toc Repository: rL LLVM https://reviews.

r285211 - AMDGPU: Add missing ISA versions gfx7.x.x and 8.x.x.

2016-10-26 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Wed Oct 26 11:40:21 2016 New Revision: 285211 URL: http://llvm.org/viewvc/llvm-project?rev=285211&view=rev Log: AMDGPU: Add missing ISA versions gfx7.x.x and 8.x.x. Patch by Laurent Morichetti. Differential Revision: https://reviews.llvm.org/D25920 Modified: cfe/trunk/l

[PATCH] D25343: [OpenCL] Mark group functions as convergent in opencl-c.h

2016-10-31 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: test/CodeGenOpenCL/convergent.cl:54 +// CHECK: tail call spir_func void @f() +// CHECK-NOT: call spir_func void @non_convfun() +// CHECK-NOT: call spir_func void @g() Anastasia wrote: > Did you mean to check @convfun() he

[PATCH] D26157: [OpenCL] always use SPIR address spaces for kernel_arg_addr_space MD

2016-10-31 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. LGTM. Thanks. Repository: rL LLVM https://reviews.llvm.org/D26157 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D26196: AMDGPU: Translate null pointers in private and local addr space

2016-11-01 Thread Yaxun Liu via cfe-commits
yaxunl created this revision. yaxunl added reviewers: arsenm, tstellarAMD, rjmccall. yaxunl added a subscriber: cfe-commits. Herald added subscribers: tony-tye, nhaehnle, wdng, kzhuravl. In amdgcn target, null pointers in global, constant, and generic address space take value 0 but null pointers

r285725 - [OpenCL] Mark group functions as convergent in opencl-c.h

2016-11-01 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Tue Nov 1 13:45:32 2016 New Revision: 285725 URL: http://llvm.org/viewvc/llvm-project?rev=285725&view=rev Log: [OpenCL] Mark group functions as convergent in opencl-c.h Certain OpenCL builtin functions are supposed to be executed by all threads in a work group or sub group.

[PATCH] D25343: [OpenCL] Mark group functions as convergent in opencl-c.h

2016-11-01 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL285725: [OpenCL] Mark group functions as convergent in opencl-c.h (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D25343?vs=75203&id=76612#toc Repository: rL LLVM https://rev

[PATCH] D26196: AMDGPU: Translate null pointers in private and local addr space

2016-11-02 Thread Yaxun Liu via cfe-commits
yaxunl updated the summary for this revision. yaxunl updated this revision to Diff 76792. yaxunl added a comment. Fixed translation of a pointer to bool. Added more tests. https://reviews.llvm.org/D26196 Files: lib/CodeGen/CGDecl.cpp lib/CodeGen/CGExprConstant.cpp lib/CodeGen/CGExprScalar

[PATCH] D26196: AMDGPU: Translate null pointers in private and local addr space

2016-11-02 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: lib/CodeGen/TargetInfo.cpp:7039 + if (CGM.getTarget().getTriple().getArch() != llvm::Triple::amdgcn || +(AS != Ctx.getTargetAddressSpace(LangAS::opencl_local) && AS != 0)) +return C; arsenm wrote: > Shouldn't the

[PATCH] D26157: [OpenCL] always use SPIR address spaces for kernel_arg_addr_space MD

2016-11-03 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. One purpose of kernel arg info metadata is to be passed to OpenCL runtime to fulfill clGetKernelArgInfo queries. (https://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clGetKernelArgInfo.html). As such, the address space id needs to be at source level instead of IR

[PATCH] D26157: [OpenCL] always use SPIR address spaces for kernel_arg_addr_space MD

2016-11-03 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. The enum for address space is not necessarily bound to SPIR as long as the runtime knows it. Since most OpenCL runtime already uses that definition (if they use clang as compiler), I don't see a reason to change that. I doubt this metadata can be used for anything else

[PATCH] D26302: [OpenCL] Remove redundant test for OpenCL header file

2016-11-04 Thread Yaxun Liu via cfe-commits
yaxunl created this revision. yaxunl added a reviewer: Anastasia. yaxunl added subscribers: cfe-commits, rsmith. https://reviews.llvm.org/D26302 Files: test/Headers/opencl-c-header.cl Index: test/Headers/opencl-c-header.cl === --

[PATCH] D26196: AMDGPU: Translate null pointers in private and local addr space

2016-11-04 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. In https://reviews.llvm.org/D26196#586433, @rjmccall wrote: > I think there are a number of conceptual questions here, chiefly among them > whether an llvm::ConstantPointerNull in an address-space type should have the > correct representation for the target. If the deci

[PATCH] D26302: [OpenCL] Remove redundant test for OpenCL header file

2016-11-04 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 76932. yaxunl added a comment. Revised as Anastasia suggested. https://reviews.llvm.org/D26302 Files: test/Headers/opencl-c-header.cl Index: test/Headers/opencl-c-header.cl === --- test/Head

[PATCH] D26302: [OpenCL] Remove redundant test for OpenCL header file

2016-11-07 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. In https://reviews.llvm.org/D26302#587480, @Anastasia wrote: > LGTM! Thanks! Do you know the runtime of this test now? It takes about 1s in releaser build and 20s in debug build on my machine. https://reviews.llvm.org/D26302 _

r286114 - [OpenCL] Remove redundant test for OpenCL header file

2016-11-07 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Mon Nov 7 09:55:51 2016 New Revision: 286114 URL: http://llvm.org/viewvc/llvm-project?rev=286114&view=rev Log: [OpenCL] Remove redundant test for OpenCL header file Differential Revision: https://reviews.llvm.org/D26302 Modified: cfe/trunk/test/Headers/opencl-c-header.cl

[PATCH] D26302: [OpenCL] Remove redundant test for OpenCL header file

2016-11-07 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL286114: [OpenCL] Remove redundant test for OpenCL header file (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D26302?vs=76932&id=77039#toc Repository: rL LLVM https://reviews

[PATCH] D24235: [OpenCL] Improve double literal handling

2016-11-07 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: test/SemaOpenCL/extensions.cl:28 +#ifdef FP64 +// expected-no-diagnostics +#endif expected-no-diagnostics applies to the whole file. better move to the beginning of the file. otherwise LGTM. Thanks! https://reviews.ll

[PATCH] D26196: [WIP] Add support for non-zero null pointers

2016-11-07 Thread Yaxun Liu via cfe-commits
yaxunl retitled this revision from "AMDGPU: Translate null pointers in private and local addr space" to "[WIP] Add support for non-zero null pointers". yaxunl updated this revision to Diff 77097. yaxunl added a comment. This is work in progress. Revised by John's comments. Refactored getNullPtr

[PATCH] D26157: [OpenCL] always use SPIR address spaces for kernel_arg_addr_space MD

2016-11-08 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. In https://reviews.llvm.org/D26157#589033, @pekka.jaaskelainen wrote: > The uses for the OpenCL logical address spaces that I know of are: > > 1. to differentiate local kernel arguments as their memory allocation is > different (per WG if parallel WGs) > 2. alias analysis

[PATCH] D26196: [WIP] Add support for non-zero null pointers

2016-11-08 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: lib/CodeGen/CGExprConstant.cpp:1340 + return C; +return getNullPtr(PT, DestType); } rjmccall wrote: > efriedma wrote: > > Consider code like the following: > > > > int x = 0; > > auto y1 =

[PATCH] D26196: Add support for non-zero null pointers

2016-11-08 Thread Yaxun Liu via cfe-commits
yaxunl retitled this revision from "[WIP] Add support for non-zero null pointers" to "Add support for non-zero null pointers". yaxunl updated this revision to Diff 77210. yaxunl added a comment. Fixed list initialization of large struct which are mostly initialized by 0 through memset. Added tes

[PATCH] D26196: Add support for non-zero null pointers

2016-11-08 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: lib/CodeGen/CodeGenTypes.cpp:743 +auto NullPtr = CGM.getNullPtr(LLPT, T); +return isa(NullPtr); + } tony-tye wrote: > Is this correct if the target does not represent a NULL pointer as the > address with value 0

[PATCH] D26196: Add support for non-zero null pointers

2016-11-08 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 77238. yaxunl marked 2 inline comments as done. yaxunl added a comment. Added isNullPtrZero to TargetCodeGenInfo. https://reviews.llvm.org/D26196 Files: lib/CodeGen/CGDecl.cpp lib/CodeGen/CGExprAgg.cpp lib/CodeGen/CGExprConstant.cpp lib/CodeGen/CGExp

[PATCH] D26196: Add support for non-zero null pointers

2016-11-08 Thread Yaxun Liu via cfe-commits
yaxunl marked 3 inline comments as done. yaxunl added inline comments. Comment at: lib/CodeGen/CGExprConstant.cpp:1340 + return C; +return getNullPtr(PT, DestType); } yaxunl wrote: > rjmccall wrote: > > efriedma wrote: > > > Consider code

[PATCH] D26196: Add support for non-zero null pointers

2016-11-08 Thread Yaxun Liu via cfe-commits
yaxunl marked an inline comment as done. yaxunl added inline comments. Comment at: lib/CodeGen/CGExprConstant.cpp:1340 + return C; +return getNullPtr(PT, DestType); } efriedma wrote: > yaxunl wrote: > > yaxunl wrote: > > > rjmccall wrote:

[PATCH] D26196: Add support for non-zero null pointers

2016-11-10 Thread Yaxun Liu via cfe-commits
yaxunl marked 12 inline comments as done. yaxunl added inline comments. Comment at: lib/CodeGen/TargetInfo.cpp:7040 + auto AS = PT->getAddressSpace(); + return AS != Ctx.getTargetAddressSpace(LangAS::opencl_local) && AS != 0; +} rjmccall wrote: > This check is de

[PATCH] D26196: Add support for non-zero null pointers

2016-11-10 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 77525. yaxunl marked an inline comment as done. yaxunl added a comment. Changed APValue to differentiate with null pointer and pointers casted from integer. Fixed casting integer to pointer. Refactored isNullPtrZero to use just QualType as parameter. Added t

[PATCH] D26196: Add support for non-zero null pointer for C and OpenCL

2016-11-11 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. Hi John, It seems the casting from a pointer to different address space is not affected by this change. When a null pointer is casted to different address space, it is casted the same way as an ordinary pointer, e.g. by addrspacecast. I think this patch covers most of t

[PATCH] D26509: [OpenCL] Fix integer parameters of enqueue_kernel

2016-11-11 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. My main concern is that by making the number of event be of type size_t instead of uint we are not conforming to the spec, although I agree it is better for the user. Comment at: lib/CodeGen/CGBuiltin.cpp:2547 + llvm::Value *NumEvents = +

[PATCH] D26507: [OpenCL] Change to clk_event parameter in enqueue_kernel

2016-11-11 Thread Yaxun Liu via cfe-commits
yaxunl accepted this revision. yaxunl added a comment. This revision is now accepted and ready to land. LGTM. Thanks! https://reviews.llvm.org/D26507 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listi

[PATCH] D26476: [AMDGPU] Add support for f16 builtin functions for VI+

2016-11-11 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: test/CodeGenOpenCL/builtins-amdgcn-error-f16-div-fixup.cl:8 +{ + *out = __builtin_amdgcn_div_fixuph(a, b, c); // expected-error {{'__builtin_amdgcn_div_fixuph' needs target feature 16-bit-insts}} +} The tests for checki

[PATCH] D26509: [OpenCL] Fix integer parameters of enqueue_kernel

2016-11-11 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. I thought the number of events was also changed to size_t type. Now I understand. Probably I was misled by the summary: "Parameters representing number of events as well as sizes of enqueued block arguments in enqueue_kernel function are specified as uint type. This prev

[PATCH] D26196: Add support for non-zero null pointer for C and OpenCL

2016-11-12 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. >> It seems the casting from a pointer to different address space is not >> affected by this change. When a null pointer is casted to different address >> space, it is casted the same way as an ordinary pointer, e.g. by >> addrspacecast. > > You mean, the code-generatio

[PATCH] D26196: Add support for non-zero null pointer for C and OpenCL

2016-11-12 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. >> It seems the casting from a pointer to different address space is not >> affected by this change. When a null pointer is casted to different address >> space, it is casted the same way as an ordinary pointer, e.g. by >> addrspacecast. > > You mean, the code-generatio

[PATCH] D26509: [OpenCL] Fix integer parameters of enqueue_kernel

2016-11-14 Thread Yaxun Liu via cfe-commits
yaxunl accepted this revision. yaxunl added a comment. This revision is now accepted and ready to land. LGTM with the change for the summary. Thanks! https://reviews.llvm.org/D26509 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://list

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-19 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 64529. yaxunl marked 7 inline comments as done. yaxunl added a comment. Revised by Anastasia's comments. https://reviews.llvm.org/D21567 Files: include/clang/AST/OperationKinds.def include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticS

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-19 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: lib/Sema/SemaInit.cpp:6917-6929 @@ -6915,4 +6916,15 @@ << SourceType; - } else if (Entity.getKind() != InitializedEntity::EK_Variable) { -llvm_unreachable("Invalid EntityKind!"); + break; +} else

Re: [PATCH] D22523: [OpenCL] AMDGCN target will generate images in constant address space

2016-07-19 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: test/CodeGenOpenCL/opencl_types.cl:1 @@ -1,1 +1,2 @@ -// RUN: %clang_cc1 %s -emit-llvm -o - -O0 | FileCheck %s +// RUN: %clang_cc1 %s -emit-llvm -o - -O0 | FileCheck %s --check-prefix=CHECK-NORMAL +// RUN: %clang_cc1 %s -triple "amdgcn--a

Re: [PATCH] D22523: [OpenCL] AMDGCN target will generate images in constant address space

2016-07-19 Thread Yaxun Liu via cfe-commits
yaxunl accepted this revision. yaxunl added a comment. This revision is now accepted and ready to land. LGTM. Thanks! Repository: rL LLVM https://reviews.llvm.org/D22523 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.or

Re: [PATCH] D22424: [OpenCL] Fixes bug of missing OCL related metadata on the AMDGCN target

2016-07-19 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL276010: [OpenCL] Fixes bug of missing OCL version metadata on the AMDGCN target (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D22424?vs=64513&id=64545#toc Repository: rL LLV

r276010 - [OpenCL] Fixes bug of missing OCL version metadata on the AMDGCN target

2016-07-19 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Tue Jul 19 14:39:45 2016 New Revision: 276010 URL: http://llvm.org/viewvc/llvm-project?rev=276010&view=rev Log: [OpenCL] Fixes bug of missing OCL version metadata on the AMDGCN target Added the opencl.ocl.version metadata to be emitted with amdgcn. Created a static function

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-20 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: lib/Sema/SemaInit.cpp:6945 @@ +6944,3 @@ + // get the integer literal. + Init = cast(const_cast( +Var->getInit()))->getSubExpr(); Anastasia wrote: > What if global variable sampler is initiali

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-20 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 64724. yaxunl added a comment. Added more diagnostic tests. https://reviews.llvm.org/D21567 Files: include/clang/AST/OperationKinds.def include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/AST/ASTContext.cpp lib/AS

r276161 - [OpenCL] AMDGCN target will generate images in constant address space

2016-07-20 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Wed Jul 20 14:21:11 2016 New Revision: 276161 URL: http://llvm.org/viewvc/llvm-project?rev=276161&view=rev Log: [OpenCL] AMDGCN target will generate images in constant address space Allows AMDGCN target to generate images (such as %opencl.image2d_t) in constant address space

Re: [PATCH] D22523: [OpenCL] AMDGCN target will generate images in constant address space

2016-07-20 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL276161: [OpenCL] AMDGCN target will generate images in constant address space (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D22523?vs=64706&id=64729#toc Repository: rL LLVM

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-21 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 64927. yaxunl marked 4 inline comments as done. yaxunl added a comment. Update the test to accommodate changes in branch tip. https://reviews.llvm.org/D21567 Files: include/clang/AST/OperationKinds.def include/clang/Basic/DiagnosticGroups.td include/cl

Re: [PATCH] D22637: [OpenCL] Add extension cl_khr_mipmap_image to clang

2016-07-21 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. Need to add a test to Misc/amdgcn.languageOptsOpenCL.cl and SemaOpenCL/extension-version.cl Repository: rL LLVM https://reviews.llvm.org/D22637 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org

Re: [PATCH] D22637: [OpenCL] Add extension cl_khr_mipmap_image to clang

2016-07-21 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: include/clang/Basic/OpenCLExtensions.def:73 @@ -72,2 +72,3 @@ OPENCLEXT_INTERNAL(cl_khr_terminate_context, 200, ~0U) +OPENCLEXT_INTERNAL(cl_khr_mipmap_image, 200, ~0U) Better to follow the alphabetical order. Reposito

Re: [PATCH] D22637: [OpenCL] Add extension cl_khr_mipmap_image to clang

2016-07-22 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: test/Misc/amdgcn.languageOptsOpenCL.cl:190 @@ +189,3 @@ +// expected-warning@-1{{unsupported OpenCL extension 'cl_khr_mipmap_image' - ignoring}} +#endif + we also need to check the else case for `__OPENCL_C_VERSION__ < 20

Re: [PATCH] D22637: [OpenCL] Add extension cl_khr_mipmap_image to clang

2016-07-22 Thread Yaxun Liu via cfe-commits
yaxunl accepted this revision. yaxunl added a comment. This revision is now accepted and ready to land. LGTM. Thanks! Repository: rL LLVM https://reviews.llvm.org/D22637 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.or

Re: [PATCH] D22637: [OpenCL] Add extension cl_khr_mipmap_image to clang

2016-07-25 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: test/Misc/amdgcn.languageOptsOpenCL.cl:188 @@ +187,3 @@ +#endif +// expected-warning@+6{{unsupported OpenCL extension 'cl_khr_mipmap_image' - ignoring}} +#else Anastasia wrote: > Can you move this error message down inste

Re: [PATCH] D22767: [OpenCL] Added CLK_ABGR definition for get_image_channel_order return value

2016-07-25 Thread Yaxun Liu via cfe-commits
yaxunl accepted this revision. yaxunl added a comment. This revision is now accepted and ready to land. LGTM. Thanks! Repository: rL LLVM https://reviews.llvm.org/D22767 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.or

[PATCH] D22815: [OpenCL][AMDGPU] Add support for -cl-denorms-are-zero

2016-07-26 Thread Yaxun Liu via cfe-commits
yaxunl created this revision. yaxunl added reviewers: tstellarAMD, arsenm, nhaustov, Anastasia, rsmith. yaxunl added a subscriber: cfe-commits. Herald added a subscriber: kzhuravl. Adjust target features for amdgcn target when -cl-denorms-are-zero is set. Denormal support is controlled by feature

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-26 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 65588. yaxunl marked an inline comment as done. yaxunl added a comment. Add more sema tests. Eliminate redundant diagnostic messages. https://reviews.llvm.org/D21567 Files: include/clang/AST/OperationKinds.def include/clang/Basic/DiagnosticGroups.td in

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-27 Thread Yaxun Liu via cfe-commits
yaxunl marked 9 inline comments as done. Comment at: lib/CodeGen/CGOpenCLRuntime.cpp:84 @@ +83,3 @@ +SamplerTy = llvm::PointerType::get(llvm::StructType::create( + CGM.getLLVMContext(), "__opencl_sampler_t"), + CGM.getContext().getTargetAddressSpace(

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-27 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 65796. yaxunl marked 5 inline comments as done. yaxunl added a comment. Revised by Anastasia's comments. Added missing codegen test. https://reviews.llvm.org/D21567 Files: include/clang/AST/OperationKinds.def include/clang/Basic/DiagnosticGroups.td inc

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-28 Thread Yaxun Liu via cfe-commits
yaxunl updated the summary for this revision. yaxunl updated this revision to Diff 65928. yaxunl added a comment. Use 'opencl.sampler_t' as opque type name for sampler in LLVM IR. https://reviews.llvm.org/D21567 Files: include/clang/AST/OperationKinds.def include/clang/Basic/DiagnosticGroup

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-28 Thread Yaxun Liu via cfe-commits
yaxunl marked 2 inline comments as done. Comment at: lib/Sema/SemaInit.cpp:6961 @@ +6960,3 @@ +// the initializer. +if (!Init->isConstantInitializer(S.Context, false)) + break; Anastasia wrote: > I think you don't need this check any more

[PATCH] D22927: [OpenCL] Fix size of image type

2016-07-28 Thread Yaxun Liu via cfe-commits
yaxunl created this revision. yaxunl added a reviewer: Anastasia. yaxunl added subscribers: cfe-commits, tstellarAMD. The size of image type is reported incorrectly as size of a pointer to address space 0, which causes error when casting image type to pointers by __builtin_astype. The fix is to

r277024 - [OpenCL] Generate opaque type for sampler_t and function call for the initializer

2016-07-28 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Thu Jul 28 14:26:30 2016 New Revision: 277024 URL: http://llvm.org/viewvc/llvm-project?rev=277024&view=rev Log: [OpenCL] Generate opaque type for sampler_t and function call for the initializer Currently Clang use int32 to represent sampler_t, which have been a source of is

Re: [PATCH] D21567: [OpenCL] Generate struct type for sampler_t and function call for the initializer

2016-07-28 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. yaxunl marked an inline comment as done. Closed by commit rL277024: [OpenCL] Generate opaque type for sampler_t and function call for the… (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D21567?vs=

[PATCH] D22940: [OpenCL] Handle -cl-fp32-correctly-rounded-divide-sqrt

2016-07-28 Thread Yaxun Liu via cfe-commits
yaxunl created this revision. yaxunl added reviewers: Anastasia, nhaustov. yaxunl added subscribers: cfe-commits, tstellarAMD. Let the driver pass the option to frontend. Do not set precision metadata for division instructions when this option is set. Set function attribute "correctly-rounded-di

r277179 - [OpenCL] Added CLK_ABGR definition for get_image_channel_order return value

2016-07-29 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Fri Jul 29 12:50:10 2016 New Revision: 277179 URL: http://llvm.org/viewvc/llvm-project?rev=277179&view=rev Log: [OpenCL] Added CLK_ABGR definition for get_image_channel_order return value Added CLK_ABGR definition for get_image_channel_order return value inside opencl-c.h fi

Re: [PATCH] D22767: [OpenCL] Added CLK_ABGR definition for get_image_channel_order return value

2016-07-29 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL277179: [OpenCL] Added CLK_ABGR definition for get_image_channel_order return value (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D22767?vs=65375&id=66149#toc Repository: rL

r277181 - [OpenCL] Add extension cl_khr_mipmap_image to clang

2016-07-29 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Fri Jul 29 12:52:34 2016 New Revision: 277181 URL: http://llvm.org/viewvc/llvm-project?rev=277181&view=rev Log: [OpenCL] Add extension cl_khr_mipmap_image to clang Adding extension cl_khr_mipmap_image to clang's OpenCL Extensions and initiated inside AMDGPU Target. Patch by

Re: [PATCH] D22637: [OpenCL] Add extension cl_khr_mipmap_image to clang

2016-07-29 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL277181: [OpenCL] Add extension cl_khr_mipmap_image to clang (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D22637?vs=65773&id=66150#toc Repository: rL LLVM https://reviews.l

Re: [PATCH] D23086: [OpenCL] Generate concrete struct type for ndrange_t

2016-08-02 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. ASTContext::getTypeInfoImpl in lib/AST/ASTContext.cpp needs to be updated for the real size of ndrange_t. Comment at: lib/CodeGen/CGOpenCLRuntime.cpp:43 @@ +42,3 @@ + + return llvm::StructType::create(EleTypes, "ndrange_t"); +} struct n

Re: [PATCH] D23120: [OpenCL] Added underscores to the names of 'to_addr' OpenCL built-ins.

2016-08-03 Thread Yaxun Liu via cfe-commits
yaxunl accepted this revision. yaxunl added a comment. This revision is now accepted and ready to land. LGTM. Thanks! https://reviews.llvm.org/D23120 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listi

Re: [PATCH] D23086: [OpenCL] Generate concrete struct type for ndrange_t

2016-08-03 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: lib/CodeGen/CGOpenCLRuntime.cpp:43 @@ +42,3 @@ + + return llvm::StructType::create(EleTypes, "ndrange_t"); +} yaxunl wrote: > struct name should be "struct.ndrange_t" to allow library code to access it. Sorry, should be "

r277647 - [OpenCL] Fix size of image type

2016-08-03 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Wed Aug 3 15:38:06 2016 New Revision: 277647 URL: http://llvm.org/viewvc/llvm-project?rev=277647&view=rev Log: [OpenCL] Fix size of image type The size of image type is reported incorrectly as size of a pointer to address space 0, which causes error when casting image type

Re: [PATCH] D22927: [OpenCL] Fix size of image type

2016-08-03 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL277647: [OpenCL] Fix size of image type (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D22927?vs=65964&id=66705#toc Repository: rL LLVM https://reviews.llvm.org/D22927 Files

Re: [PATCH] D23086: [OpenCL] Generate concrete struct type for ndrange_t

2016-08-04 Thread Yaxun Liu via cfe-commits
yaxunl added inline comments. Comment at: lib/CodeGen/CGOpenCLRuntime.cpp:43 @@ +42,3 @@ + + return llvm::StructType::create(EleTypes, "ndrange_t"); +} Anastasia wrote: > yaxunl wrote: > > yaxunl wrote: > > > struct name should be "struct.ndrange_t" to allow libr

r277754 - [OpenCL] Remove extra native_ functions from opencl-c.h

2016-08-04 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Thu Aug 4 14:30:54 2016 New Revision: 277754 URL: http://llvm.org/viewvc/llvm-project?rev=277754&view=rev Log: [OpenCL] Remove extra native_ functions from opencl-c.h There should be no native_ builtin functions with double type arguments. Patch by Aaron En Ye Shi. Differe

r277756 - [OpenCL] Add the lit test for image size which was omitted by r277647.

2016-08-04 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Thu Aug 4 14:35:17 2016 New Revision: 277756 URL: http://llvm.org/viewvc/llvm-project?rev=277756&view=rev Log: [OpenCL] Add the lit test for image size which was omitted by r277647. Added: cfe/trunk/test/CodeGenOpenCL/cast_image.cl Added: cfe/trunk/test/CodeGenOpenCL/ca

Re: [PATCH] D23086: [OpenCL] Generate concrete struct type for ndrange_t

2016-08-05 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. In https://reviews.llvm.org/D23086#507055, @majnemer wrote: > This approach seems wrong to me. > > Instead, why not just make `ndrange_t` a typedef of a real struct in > `Sema::Initialize`? ndrange_t is an OpenCL builtin type and the spec does not define its layout. Th

Re: [PATCH] D23086: [OpenCL] Generate concrete struct type for ndrange_t

2016-08-05 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. How about assuming ndrange_t is a struct type defined by user and identify it by struct type name in Clang? This gives user freedom of implementing it differently than SPIR. In opencl-c.h define it as a struct type as SPIR required. Repository: rL LLVM https://revie

Re: [PATCH] D23086: [OpenCL] Generate concrete struct type for ndrange_t

2016-08-05 Thread Yaxun Liu via cfe-commits
yaxunl added a comment. In https://reviews.llvm.org/D23086#507203, @yaxunl wrote: > How about assuming ndrange_t is a struct type defined by user and identify it > by struct type name in Clang? This gives user freedom of implementing it > differently than SPIR. In opencl-c.h define it as a stru

[PATCH] D23322: [OpenCL] AMDGPU: Add extensions cl_amd_media_ops and cl_amd_media_ops2

2016-08-09 Thread Yaxun Liu via cfe-commits
yaxunl created this revision. yaxunl added reviewers: nhaustov, Anastasia. yaxunl added subscribers: cfe-commits, tstellarAMD. Herald added a reviewer: tstellarAMD. Herald added a subscriber: kzhuravl. https://reviews.llvm.org/D23322 Files: include/clang/Basic/OpenCLExtensions.def lib/Basic/T

r278151 - [OpenCL][AMDGPU] Add support for -cl-denorms-are-zero

2016-08-09 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Tue Aug 9 14:43:38 2016 New Revision: 278151 URL: http://llvm.org/viewvc/llvm-project?rev=278151&view=rev Log: [OpenCL][AMDGPU] Add support for -cl-denorms-are-zero Adjust target features for amdgcn target when -cl-denorms-are-zero is set. Denormal support is controlled by

Re: [PATCH] D22815: [OpenCL][AMDGPU] Add support for -cl-denorms-are-zero

2016-08-09 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL278151: [OpenCL][AMDGPU] Add support for -cl-denorms-are-zero (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D22815?vs=65533&id=67397#toc Repository: rL LLVM https://reviews

r278155 - [OpenCL] Handle -cl-fp32-correctly-rounded-divide-sqrt

2016-08-09 Thread Yaxun Liu via cfe-commits
Author: yaxunl Date: Tue Aug 9 15:10:18 2016 New Revision: 278155 URL: http://llvm.org/viewvc/llvm-project?rev=278155&view=rev Log: [OpenCL] Handle -cl-fp32-correctly-rounded-divide-sqrt Let the driver pass the option to frontend. Do not set precision metadata for division instructions when thi

Re: [PATCH] D22940: [OpenCL] Handle -cl-fp32-correctly-rounded-divide-sqrt

2016-08-09 Thread Yaxun Liu via cfe-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rL278155: [OpenCL] Handle -cl-fp32-correctly-rounded-divide-sqrt (authored by yaxunl). Changed prior to commit: https://reviews.llvm.org/D22940?vs=66002&id=67406#toc Repository: rL LLVM https://review

[PATCH] D23361: [OpenCL] AMDGCN: Fix size_t type

2016-08-10 Thread Yaxun Liu via cfe-commits
yaxunl created this revision. yaxunl added reviewers: nhaustov, Anastasia. yaxunl added subscribers: cfe-commits, tstellarAMD. Pointers of certain GPUs in AMDGCN target in private address space is 32 bit but pointers in other address spaces are 64 bit. size_t type should be defined as 64 bit for

Re: [PATCH] D23361: [OpenCL] AMDGCN: Fix size_t type

2016-08-11 Thread Yaxun Liu via cfe-commits
yaxunl updated this revision to Diff 67687. yaxunl added a comment. Revised by Matt's comments. https://reviews.llvm.org/D23361 Files: include/clang/Basic/TargetInfo.h lib/Basic/TargetInfo.cpp lib/Basic/Targets.cpp lib/CodeGen/CodeGenModule.cpp test/CodeGenOpenCL/size_t.cl Index: tes

<    4   5   6   7   8   9   10   11   12   13   >