echuraev (Egor Churaev)
User

Projects

User does not belong to any projects.

User Details

User Since
Oct 26 2016, 4:02 AM (47 w, 4 d)

Recent Activity

Jul 17 2017

echuraev committed rL308266: [OpenCL] Added extended tests on metadata generation for half data type and….
[OpenCL] Added extended tests on metadata generation for half data type and…
Jul 17 2017, 11:04 PM
echuraev closed D35000: [OpenCL] Added extended tests on metadata generation for half data type and arrays..
Jul 17 2017, 11:04 PM
echuraev updated the diff for D35000: [OpenCL] Added extended tests on metadata generation for half data type and arrays..
Jul 17 2017, 4:49 AM

Jul 13 2017

echuraev added a comment to D35000: [OpenCL] Added extended tests on metadata generation for half data type and arrays..

Btw, is there any reason to add testing specifically for half? Is there anything specific to half in the implementation of this?

Trying to understand the reason for this change though...

Jul 13 2017, 12:23 AM

Jul 6 2017

echuraev committed rL307238: [OpenCL] Test on image access modifiers and image type can only be a type of a….
[OpenCL] Test on image access modifiers and image type can only be a type of a…
Jul 6 2017, 12:06 AM
echuraev closed D34980: [OpenCL] Test on image access modifiers and image type can only be a type of a function argument..
Jul 6 2017, 12:06 AM

Jul 5 2017

echuraev updated the diff for D35000: [OpenCL] Added extended tests on metadata generation for half data type and arrays..
Jul 5 2017, 11:39 PM
echuraev created D35000: [OpenCL] Added extended tests on metadata generation for half data type and arrays..
Jul 5 2017, 2:05 AM

Jul 4 2017

echuraev updated the diff for D34980: [OpenCL] Test on image access modifiers and image type can only be a type of a function argument..
Jul 4 2017, 10:44 PM
echuraev created D34980: [OpenCL] Test on image access modifiers and image type can only be a type of a function argument..
Jul 4 2017, 6:29 AM

May 30 2017

echuraev added a comment to rL304191: [OpenCL] An error shall occur if any scalar operand has greater rank than the….

Yes, it would be very kindly from you. Should I request an access to the Bugzilla?

May 30 2017, 4:33 AM

May 29 2017

echuraev committed rL304193: [OpenCL] Added diagnostic for implicit declaration of function in OpenCL.
[OpenCL] Added diagnostic for implicit declaration of function in OpenCL
May 29 2017, 10:58 PM
echuraev closed D31745: [OpenCL] Added diagnostic for implicit declaration of function in OpenCL.
May 29 2017, 10:58 PM
echuraev committed rL304191: [OpenCL] An error shall occur if any scalar operand has greater rank than the….
[OpenCL] An error shall occur if any scalar operand has greater rank than the…
May 29 2017, 10:32 PM
echuraev closed D33648: [OpenCL] An error shall occur if any scalar operand has greater rank than the type of the vector element.
May 29 2017, 10:32 PM
echuraev created D33648: [OpenCL] An error shall occur if any scalar operand has greater rank than the type of the vector element.
May 29 2017, 6:50 AM
echuraev added a comment to D33353: [OpenCL] An error shall occur if any scalar operand has greater rank than the type of the vector element.

Hi all,

May 29 2017, 5:25 AM
echuraev committed rL304134: [OpenCL] Test on half immediate support..
[OpenCL] Test on half immediate support.
May 29 2017, 12:44 AM
echuraev closed D33592: [OpenCL] Test on half immediate support..
May 29 2017, 12:44 AM

May 26 2017

echuraev committed rL303986: [OpenCL] An error shall occur if any scalar operand has greater rank than the….
[OpenCL] An error shall occur if any scalar operand has greater rank than the…
May 26 2017, 6:30 AM
echuraev closed D33353: [OpenCL] An error shall occur if any scalar operand has greater rank than the type of the vector element.
May 26 2017, 6:30 AM
echuraev created D33592: [OpenCL] Test on half immediate support..
May 26 2017, 5:26 AM

May 25 2017

echuraev updated the diff for D33353: [OpenCL] An error shall occur if any scalar operand has greater rank than the type of the vector element.
May 25 2017, 3:19 AM
echuraev committed rL303846: [OpenCL] reserve_id_t cannot be used as argument to kernel function.
[OpenCL] reserve_id_t cannot be used as argument to kernel function
May 25 2017, 12:19 AM
echuraev closed D33483: [OpenCL] reserve_id_t cannot be used as argument to kernel function.
May 25 2017, 12:18 AM

May 24 2017

echuraev committed rL303844: [OpenCL] Added regression test on invalid vector initialization..
[OpenCL] Added regression test on invalid vector initialization.
May 24 2017, 11:55 PM
echuraev closed D33489: [OpenCL] Added regression test on invalid vector initialization..
May 24 2017, 11:55 PM
echuraev updated the diff for D31745: [OpenCL] Added diagnostic for implicit declaration of function in OpenCL.
May 24 2017, 11:48 PM
echuraev created D33489: [OpenCL] Added regression test on invalid vector initialization..
May 24 2017, 4:20 AM
echuraev created D33483: [OpenCL] reserve_id_t cannot be used as argument to kernel function.
May 24 2017, 1:01 AM

May 22 2017

echuraev added inline comments to D31745: [OpenCL] Added diagnostic for implicit declaration of function in OpenCL.
May 22 2017, 7:01 AM
echuraev abandoned D27334: [OpenCL] Ambiguous function call..
May 22 2017, 5:52 AM

May 19 2017

echuraev created D33353: [OpenCL] An error shall occur if any scalar operand has greater rank than the type of the vector element.
May 19 2017, 5:40 AM

May 15 2017

echuraev added inline comments to D32896: [OpenCL] Make CLK_NULL_RESERVE_ID invalid reserve id..
May 15 2017, 4:43 AM
echuraev updated the diff for D31745: [OpenCL] Added diagnostic for implicit declaration of function in OpenCL.

I disabled adding note diagnostic for OpenCL. Addition function to dictionary occurs in function CurrectTypo. In this function take place creation of consumer by calling function makeTypoCorrectionConsumer. The function do some checks and next create consumer by the following code:

auto Consumer = llvm::make_unique<TypoCorrectionConsumer>(
     *this, TypoName, LookupKind, S, SS, std::move(CCC), MemberContext,
     EnteringContext);

In constructor TypoCorrectionConsumer occurs adding correction to dictionary (ValidatedCorrections).

May 15 2017, 1:46 AM

May 10 2017

echuraev added a comment to D27334: [OpenCL] Ambiguous function call..

So, I think that we have to do some decision about this patch. @Anastasia, What do you think about it? Please see my comment above. What should we do with this patch?

May 10 2017, 11:25 PM
echuraev committed rL302633: [OpenCL] Handle OpenCL specific subelement types.
[OpenCL] Handle OpenCL specific subelement types
May 10 2017, 3:41 AM
echuraev closed D32898: [OpenCL] Handle OpenCL specific subelement types.
May 10 2017, 3:41 AM
echuraev updated the diff for D32898: [OpenCL] Handle OpenCL specific subelement types.
May 10 2017, 1:45 AM
echuraev committed rL302630: [OpenCL] Added checking OpenCL version for cl_khr_mipmap_image built-ins.
[OpenCL] Added checking OpenCL version for cl_khr_mipmap_image built-ins
May 10 2017, 1:36 AM
echuraev closed D32897: [OpenCL] Added checking OpenCL version for cl_khr_mipmap_image built-ins.
May 10 2017, 1:36 AM

May 5 2017

echuraev created D32898: [OpenCL] Handle OpenCL specific subelement types.
May 5 2017, 3:58 AM
echuraev created D32897: [OpenCL] Added checking OpenCL version for cl_khr_mipmap_image built-ins.
May 5 2017, 3:46 AM
echuraev created D32896: [OpenCL] Make CLK_NULL_RESERVE_ID invalid reserve id..
May 5 2017, 3:40 AM

Apr 14 2017

echuraev added inline comments to D31745: [OpenCL] Added diagnostic for implicit declaration of function in OpenCL.
Apr 14 2017, 1:36 AM

Apr 7 2017

echuraev added inline comments to D31745: [OpenCL] Added diagnostic for implicit declaration of function in OpenCL.
Apr 7 2017, 9:51 AM
echuraev updated the diff for D31745: [OpenCL] Added diagnostic for implicit declaration of function in OpenCL.
Apr 7 2017, 9:50 AM
echuraev added a comment to D26794: [OpenCL] Blocks are allowed to capture arrays in OpenCL 2.0 and higher..

Yes, I have an access to the new revision and I have read it.

Apr 7 2017, 3:18 AM
echuraev updated the diff for D26794: [OpenCL] Blocks are allowed to capture arrays in OpenCL 2.0 and higher..
Apr 7 2017, 3:18 AM

Apr 6 2017

echuraev created D31745: [OpenCL] Added diagnostic for implicit declaration of function in OpenCL.
Apr 6 2017, 1:56 AM
echuraev added a comment to D27334: [OpenCL] Ambiguous function call..

I don't actually. But remembering the follow up discussion:
http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20161205/178846.html
and since we have to deviate from the standard C/C++ implementation anyways I am wondering whether modifying overloading resolution is a better way to go?

Apr 6 2017, 1:53 AM

Apr 5 2017

echuraev committed rL299537: [OpenCL] Extended diagnostics for atomic initialization.
[OpenCL] Extended diagnostics for atomic initialization
Apr 5 2017, 5:59 AM
echuraev closed D30643: [OpenCL] Extended diagnostics for atomic initialization.
Apr 5 2017, 5:59 AM
echuraev committed rL299524: [OpenCL] Enables passing sampler initializer to function argument.
[OpenCL] Enables passing sampler initializer to function argument
Apr 5 2017, 2:15 AM
echuraev closed D31594: [OpenCL] Enables passing sampler initializer to function argument.
Apr 5 2017, 2:15 AM

Apr 4 2017

echuraev updated the diff for D31594: [OpenCL] Enables passing sampler initializer to function argument.
Apr 4 2017, 3:32 AM

Apr 3 2017

echuraev created D31594: [OpenCL] Enables passing sampler initializer to function argument.
Apr 3 2017, 3:18 AM
echuraev updated the diff for D30643: [OpenCL] Extended diagnostics for atomic initialization.
Apr 3 2017, 2:58 AM

Mar 31 2017

echuraev committed rL299192: [OpenCL] Do not generate "kernel_arg_type_qual" metadata for non-pointer args.
[OpenCL] Do not generate "kernel_arg_type_qual" metadata for non-pointer args
Mar 31 2017, 3:27 AM
echuraev closed D31321: [OpenCL] Do not generate "kernel_arg_type_qual" metadata for non-pointer args.
Mar 31 2017, 3:27 AM
echuraev updated the diff for D30643: [OpenCL] Extended diagnostics for atomic initialization.
Mar 31 2017, 1:29 AM
echuraev updated the diff for D31321: [OpenCL] Do not generate "kernel_arg_type_qual" metadata for non-pointer args.
Mar 31 2017, 12:19 AM

Mar 29 2017

echuraev updated the diff for D30643: [OpenCL] Extended diagnostics for atomic initialization.
Mar 29 2017, 6:44 AM
echuraev added inline comments to D31321: [OpenCL] Do not generate "kernel_arg_type_qual" metadata for non-pointer args.
Mar 29 2017, 5:31 AM
echuraev updated the diff for D31321: [OpenCL] Do not generate "kernel_arg_type_qual" metadata for non-pointer args.
Mar 29 2017, 5:31 AM
echuraev committed rL298992: Reapplied r298976 [OpenCL] Added parsing for OpenCL vector types..
Reapplied r298976 [OpenCL] Added parsing for OpenCL vector types.
Mar 29 2017, 5:22 AM

Mar 28 2017

echuraev committed rL298978: Reverted r298976 [OpenCL] Added parsing for OpenCL vector types..
Reverted r298976 [OpenCL] Added parsing for OpenCL vector types.
Mar 28 2017, 10:53 PM
echuraev committed rL298976: [OpenCL] Added parsing for OpenCL vector types..
[OpenCL] Added parsing for OpenCL vector types.
Mar 28 2017, 10:20 PM
echuraev closed D31183: [OpenCL] Added parsing for OpenCL vector types..
Mar 28 2017, 10:20 PM

Mar 27 2017

echuraev updated the diff for D31183: [OpenCL] Added parsing for OpenCL vector types..
Mar 27 2017, 7:11 AM
echuraev updated the diff for D30643: [OpenCL] Extended diagnostics for atomic initialization.
Mar 27 2017, 5:14 AM
echuraev committed rL298838: [OpenCL] Extended mapping of parcing CodeGen arguments.
[OpenCL] Extended mapping of parcing CodeGen arguments
Mar 27 2017, 3:50 AM
echuraev closed D31324: [OpenCL] Extended mapping of parcing CodeGen arguments.
Mar 27 2017, 3:50 AM
echuraev added a comment to D31183: [OpenCL] Added parsing for OpenCL vector types..

I think this is a good feature for the convenience of user. I've seen usage like this.

I agree. I don't see any reasons why this case doesn't have the right to exist. I don't think that using extra parenthesis is a good solution for solving this problem.

I am just saying that I don't see a big use case for this. I am guessing it can largely come from the macro expansions, but those are generally good style to parenthesize.

Mar 27 2017, 3:01 AM

Mar 24 2017

echuraev created D31324: [OpenCL] Extended mapping of parcing CodeGen arguments.
Mar 24 2017, 3:39 AM
echuraev created D31321: [OpenCL] Do not generate "kernel_arg_type_qual" metadata for non-pointer args.
Mar 24 2017, 3:04 AM

Mar 23 2017

echuraev added a comment to D31183: [OpenCL] Added parsing for OpenCL vector types..

I think this is a good feature for the convenience of user. I've seen usage like this.

Mar 23 2017, 10:56 PM

Mar 21 2017

echuraev committed rL298369: [OpenCL] Added diagnostic for checking length of vector.
[OpenCL] Added diagnostic for checking length of vector
Mar 21 2017, 6:33 AM
echuraev closed D30937: [OpenCL] Added diagnostic for checking length of vector.
Mar 21 2017, 6:33 AM
echuraev committed rL298366: [OpenCL] Added implicit conversion rank for overloading functions with vector….
[OpenCL] Added implicit conversion rank for overloading functions with vector…
Mar 21 2017, 6:08 AM
echuraev closed D30816: [OpenCL] Added implicit conversion rank for overloading functions with vector data type in OpenCL.
Mar 21 2017, 6:08 AM
echuraev created D31183: [OpenCL] Added parsing for OpenCL vector types..
Mar 21 2017, 5:22 AM

Mar 16 2017

echuraev committed rL297947: [OpenCL] Implement as_type operator as alias of __builtin_astype..
[OpenCL] Implement as_type operator as alias of __builtin_astype.
Mar 16 2017, 5:27 AM
echuraev closed D28136: [OpenCL] Implement as_type operator as alias of __builtin_astype..
Mar 16 2017, 5:27 AM

Mar 15 2017

echuraev updated the diff for D30937: [OpenCL] Added diagnostic for checking length of vector.
Mar 15 2017, 9:24 AM

Mar 14 2017

echuraev updated the diff for D30816: [OpenCL] Added implicit conversion rank for overloading functions with vector data type in OpenCL.
Mar 14 2017, 7:10 AM
echuraev retitled D30937: [OpenCL] Added diagnostic for checking length of vector from Added diagnostic for checking length of vector to [OpenCL] Added diagnostic for checking length of vector.
Mar 14 2017, 6:49 AM
echuraev created D30937: [OpenCL] Added diagnostic for checking length of vector.
Mar 14 2017, 6:47 AM
echuraev updated the diff for D30816: [OpenCL] Added implicit conversion rank for overloading functions with vector data type in OpenCL.
Mar 14 2017, 2:58 AM

Mar 13 2017

echuraev updated the diff for D30643: [OpenCL] Extended diagnostics for atomic initialization.
Mar 13 2017, 4:49 AM

Mar 10 2017

echuraev added a comment to D28136: [OpenCL] Implement as_type operator as alias of __builtin_astype..

This has been discussed during the initial review for the header:
http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20160425/157187.html

The main issue is after preprocessing the header the original function name is no longer available in diagnostics reported. The spec defines as_type as a builtin function and not a macro. Additionally your patch would allow as_type to be used with extra type (not only those defined in spec). Also I don't see the problem to implement as_type with just simply calling a builtin. It should be inlined later anyways.

Mar 10 2017, 6:40 AM
echuraev updated the diff for D28136: [OpenCL] Implement as_type operator as alias of __builtin_astype..
Mar 10 2017, 6:18 AM
echuraev reclaimed D28136: [OpenCL] Implement as_type operator as alias of __builtin_astype..
Mar 10 2017, 6:17 AM
echuraev created D30816: [OpenCL] Added implicit conversion rank for overloading functions with vector data type in OpenCL.
Mar 10 2017, 3:51 AM
echuraev added inline comments to D30643: [OpenCL] Extended diagnostics for atomic initialization.
Mar 10 2017, 3:29 AM
echuraev updated the diff for D30643: [OpenCL] Extended diagnostics for atomic initialization.
Mar 10 2017, 3:29 AM

Mar 9 2017

echuraev added a comment to D27334: [OpenCL] Ambiguous function call..

This change seems to modify normal C behavior again. Is there any strong motivation for doing this and if yes could it be done generically with C?

Motivation:

// Non-portable OpenCL 1.2 code 
__kernel void foo(global float* out) {
  out[get_global_id(0)] = sin(get_global_id(0));
}

This program compiles fine on OpenCL platform w/o doubles support and fails otherwise.
If OpenCL driver supports doubles it provides at least two versions of 'sin' built-in math function and compiler will not be able to choose the right one for 'size_t' argument.
The goal of this warning is to let OpenCL developer know about potential issues with code portability.

I would argue this improves the portability much as it can also be misleading in some situations (because it refers to a potentially hypothetical problem). For example there can be builtin functions that only have a float parameter (without a double version of it). This is for example the case with read_image functions that take a float coordinate value between 0 and 1. Unfortunately this warning won't be triggered on read_image functions because there is an overload candidate with an int type of the same parameter too. But we can't exclude this situations to appear in the future or from some vendor extensions or even custom OpenCL code.

As much as any other warning it's not always means that there is an error in the code. It just means that developer should inspect the construction triggering a warning.
Passing integer value to a function with floating point parameters is not always an error, but some times it might be so.
Do you suggest dropping the diagnostics at all or changing the diagnostics message?

I agree warnings don't always signal a definite issue (even thought it's good to make them as precise as we can). We could try to reword the diagnostic message. However, the biggest issue I have here is that the message can be given in the situations that are unrelated to the problem (i.e. the overload candidates that don't have anything to do with the parameter being diagnosed or don't overload with the double precision). Therefore, it feels like the diagnostic can be confusing in some cases even though they are not very probable ones.

Mar 9 2017, 2:56 AM

Mar 6 2017

echuraev created D30643: [OpenCL] Extended diagnostics for atomic initialization.
Mar 6 2017, 4:17 AM

Jan 26 2017

echuraev abandoned D27917: [OpenCL] Improve diagnostics for double type.
Jan 26 2017, 2:14 AM
echuraev added a comment to D27917: [OpenCL] Improve diagnostics for double type.

This diagnostic was added in this commit: https://reviews.llvm.org/rL289979
It is something like that: "use of undeclared identifier 'double2'; did you mean 'double'?"
This message isn't clear enough and it is difficult to understand that I forgot to enable cl_khr_fp64 extension. May be it will be better to change this diagnostic message to something like that: "use of type 'double2' (vector of 2 'double' values) requires cl_khr_fp64 extension to be enabled"

Jan 26 2017, 2:14 AM