Page MenuHomePhabricator

bader (Alexey Bader)
User

Projects

User does not belong to any projects.

User Details

User Since
Apr 23 2014, 2:13 AM (335 w, 4 d)

Recent Activity

Tue, Sep 8

bader requested review of D87282: [SYCL] Assume SYCL device functions are convergent.
Tue, Sep 8, 5:55 AM · Restricted Project

Jul 29 2020

bader committed rG8d27be8dbaff: [OpenCL] Add global_device and global_host address spaces (authored by bader).
[OpenCL] Add global_device and global_host address spaces
Jul 29 2020, 7:25 AM
bader closed D82174: [OpenCL] Add global_device and global_host address spaces.
Jul 29 2020, 7:25 AM · Restricted Project

Jun 26 2020

bader added a comment to D80932: [SYCL] Make default address space a superset of OpenCL address spaces..

@Anastasia, if we make this change specific to SYCL mode, will it address your concerns?

I can't answer this question for the reasons I have explained above.

Sorry, I'm not sure that I get your concern correctly, so let me clarify: is it allowing conversion between pointers w/ and w/o address space annotation in non-SYCL mode or using OpenCL address space attributes in SYCL mode?

Just to help you to understand the proposed design, I created the full patch for address space handling in SYCL: https://github.com/bader/llvm/pull/18. There are few CodeGen tests validating LLVM IR for SPIR target. Fee free to ask any questions on this PR.

Thanks! This is good but it is only an implementation of the design. Deducing the design from an implementation is time-consuming and not sure it is even feasible. I don't want to waste our time to provide you detailed feedback based on my interpretation of your design and invalid assumptions. I don't want to bind you to any particular format and we don't have any strict requirement for this in LLVM either, but I would encourage you to take a look at some of RFC threads sent to cfe-dev that explain new design concepts. Perhaps, they can help you to understand what information can be provided as a starting point to new design discussions.

Particularly I would suggest covering these two points:

  • SYCL specifies address spaces as classes and it is not very obvious how did you come from libraries classes to modifications in Clang? I believe there are a number of design choices that you could make. One might think that you can just implement address space classes using existing Clang functionality. But if it is not sufficient it is important to understand what modifications are required and why.
  • Other aspects that are important to highlight whether your design has any limitations. For example, I don't quite understand your need for SPIR*SYCLDeviceTargetInfo. Is there anything in your design that limits compilation to one particular target?

Overall, I see that there are a lot of changes in CodeGen that are related to the language semantic. I believe that CodeGen is supposed to be dialing primarily with target-specific logic and I don't know if you should change them to query target specific details instead. Also most of your CodeGen changes are not related to OpenCL so I would make sure to loop @rjmccall in this thread.

Jun 26 2020, 5:24 AM · Restricted Project

Jun 17 2020

bader committed rG0bdcd95bf20f: [SYCL][OpenMP] Implement thread-local storage restriction (authored by Fznamznon).
[SYCL][OpenMP] Implement thread-local storage restriction
Jun 17 2020, 4:49 AM
bader closed D81641: [SYCL][OpenMP] Implement thread-local storage restriction.
Jun 17 2020, 4:49 AM · Restricted Project
bader committed rG93cd4115799c: [NFC] Run clang-format on clang/test/OpenMP/nvptx_target_codegen.cpp (authored by bader).
[NFC] Run clang-format on clang/test/OpenMP/nvptx_target_codegen.cpp
Jun 17 2020, 3:13 AM
bader added a comment to D81641: [SYCL][OpenMP] Implement thread-local storage restriction.

Seems that test/OpenMP/nvptx_target_codegen.cpp is completely not formatted. If I apply suggestion from pre-merge checks, this will look like a big unrelated to this patch change and it will contradict with the whole file style.

Jun 17 2020, 3:12 AM · Restricted Project

Jun 9 2020

bader added a comment to D80932: [SYCL] Make default address space a superset of OpenCL address spaces..

@Anastasia, if we make this change specific to SYCL mode, will it address your concerns?

I can't answer this question for the reasons I have explained above.

Jun 9 2020, 1:14 PM · Restricted Project

Jun 5 2020

bader added a comment to D80932: [SYCL] Make default address space a superset of OpenCL address spaces..

I think my biggest problem is that I don't understand how you can just run C++ libraries on OpenCL devices. If we were able to compile plain C++ for OpenCL devices would we not just do it? But OpenCL devices have certain constraints. Also aren't libraries typically customized for performance depending on the range of HW they are being run on? I see the modifications are inevitable.

Jun 5 2020, 1:29 PM · Restricted Project

Jun 3 2020

bader added a comment to D80932: [SYCL] Make default address space a superset of OpenCL address spaces..
Jun 3 2020, 7:38 AM · Restricted Project

Jun 1 2020

bader created D80932: [SYCL] Make default address space a superset of OpenCL address spaces..
Jun 1 2020, 8:33 AM · Restricted Project

May 30 2020

bader committed rGbd85b7d66887: [OpenMP][SYCL] Do not crash on attempt to diagnose unsupported type use (authored by Fznamznon).
[OpenMP][SYCL] Do not crash on attempt to diagnose unsupported type use
May 30 2020, 3:09 AM
bader closed D80829: [OpenMP][SYCL] Do not crash on attempt to diagnose unsupported type use.
May 30 2020, 3:09 AM · Restricted Project

May 29 2020

bader committed rGcf6cc662eeee: [OpenMP][SYCL] Improve diagnosing of unsupported types usage (authored by Fznamznon).
[OpenMP][SYCL] Improve diagnosing of unsupported types usage
May 29 2020, 8:08 AM
bader closed D74387: [OpenMP][SYCL] Improve diagnosing of unsupported types usage.
May 29 2020, 8:08 AM · Restricted Project

May 22 2020

bader committed rGe95ee300c053: [SYCL] Prohibit arithmetic operations for incompatible pointers (authored by bader).
[SYCL] Prohibit arithmetic operations for incompatible pointers
May 22 2020, 4:11 AM
bader closed D80317: [SYCL] Prohibit arithmetic operations for incompatible pointers.
May 22 2020, 4:11 AM · Restricted Project

May 21 2020

bader updated the diff for D80317: [SYCL] Prohibit arithmetic operations for incompatible pointers.

Fix formatting in clang/test/Sema/address_spaces.c

May 21 2020, 12:59 PM · Restricted Project
bader added inline comments to D80317: [SYCL] Prohibit arithmetic operations for incompatible pointers.
May 21 2020, 11:21 AM · Restricted Project
bader updated the diff for D80317: [SYCL] Prohibit arithmetic operations for incompatible pointers.
  • Added C test case with address_space attribute.
  • Move isAddressSpaceOverlapping from PointerType to QualType.
  • Move C++ test case to clang/test/SemaCXX
May 21 2020, 11:21 AM · Restricted Project
bader added a comment to D80317: [SYCL] Prohibit arithmetic operations for incompatible pointers.

Thanks for the review.
I've enabled the diagnostics for all the modes.
I also applied the refactoring suggested by @rjmccall. Hopefully I understand it correctly.

May 21 2020, 8:36 AM · Restricted Project
bader updated the diff for D80317: [SYCL] Prohibit arithmetic operations for incompatible pointers.

Enable diagnostics for non-OpenCL modes and applied refactoring proposed by John.

May 21 2020, 6:26 AM · Restricted Project

May 20 2020

bader created D80317: [SYCL] Prohibit arithmetic operations for incompatible pointers.
May 20 2020, 1:11 PM · Restricted Project
bader added inline comments to D80317: [SYCL] Prohibit arithmetic operations for incompatible pointers.
May 20 2020, 1:11 PM · Restricted Project

Apr 2 2020

bader added a comment to D77220: [SYCL] Enable Open CL types required for implementing the SYCL headers..

@bader : Is this what you meant? Feel free to add any reviewers you want for this. Note it is still dependent on D71016.

Apr 2 2020, 9:12 AM
bader added reviewers for D77220: [SYCL] Enable Open CL types required for implementing the SYCL headers.: Anastasia, keryell, Naghasan.
Apr 2 2020, 9:12 AM

Mar 24 2020

bader accepted D76620: [SYCL] Implement __builtin_unique_stable_name..

LGTM. Thanks!

Mar 24 2020, 8:02 AM · Restricted Project

Mar 12 2020

bader added a comment to D75685: Add MS Mangling for OpenCL Pipe types, add mangling test..

LGTM. Thanks!

Mar 12 2020, 7:03 AM · Restricted Project

Mar 7 2020

bader committed rG118b057f1268: [SYCL] Driver option to select SYCL version (authored by Ruyk).
[SYCL] Driver option to select SYCL version
Mar 7 2020, 11:23 AM

Mar 1 2020

bader added a comment to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

This landed here: https://github.com/llvm/llvm-project/commit/bd97704eaaaab5a95ecb048ce343c1a4be5d94e5

It broke tests on mac: http://45.33.8.238/mac/9011/step_7.txt

Please take a look, and if it takes a while please revert while you investigate.

@thakis, thank for letting me know. I've reverted it at 740ed617f7d4d16e7883636c5eff994f8be7eba4. Sorry for inconvenience.

Mar 1 2020, 7:34 AM · Restricted Project

Feb 27 2020

bader committed rG740ed617f7d4: Revert "[SYCL] Driver option to select SYCL version" (authored by bader).
Revert "[SYCL] Driver option to select SYCL version"
Feb 27 2020, 9:52 AM
bader added a reverting change for rGbd97704eaaaa: [SYCL] Driver option to select SYCL version: rG740ed617f7d4: Revert "[SYCL] Driver option to select SYCL version".
Feb 27 2020, 9:52 AM
bader committed rGbd97704eaaaa: [SYCL] Driver option to select SYCL version (authored by Ruyk).
[SYCL] Driver option to select SYCL version
Feb 27 2020, 9:51 AM
bader closed D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 27 2020, 9:51 AM · Restricted Project
bader added a comment to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

This landed here: https://github.com/llvm/llvm-project/commit/bd97704eaaaab5a95ecb048ce343c1a4be5d94e5

It broke tests on mac: http://45.33.8.238/mac/9011/step_7.txt

Please take a look, and if it takes a while please revert while you investigate.

Feb 27 2020, 8:36 AM · Restricted Project

Feb 22 2020

bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Any other comments?

Feb 22 2020, 3:00 AM · Restricted Project

Feb 20 2020

bader added inline comments to D70172: [CUDA][HIP][OpenMP] Emit deferred diagnostics by a post-parsing AST travese.
Feb 20 2020, 9:06 AM · Restricted Project

Feb 19 2020

bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 19 2020, 4:07 AM · Restricted Project
bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Rebase to ToT and address comments from Ronan.

Feb 19 2020, 4:07 AM · Restricted Project

Feb 18 2020

bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Address comments from Victor and Alexey.

Feb 18 2020, 11:02 AM · Restricted Project
bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 18 2020, 2:05 AM · Restricted Project

Feb 17 2020

bader added a comment to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Ping.

Feb 17 2020, 11:16 AM · Restricted Project

Feb 11 2020

bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 11 2020, 11:10 AM · Restricted Project
bader updated the summary of D74387: [OpenMP][SYCL] Improve diagnosing of unsupported types usage.
Feb 11 2020, 8:54 AM · Restricted Project
bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 11 2020, 8:44 AM · Restricted Project
bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 11 2020, 8:29 AM · Restricted Project
bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 11 2020, 7:14 AM · Restricted Project
bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Applied review commits from Alexey.

Feb 11 2020, 7:05 AM · Restricted Project

Feb 7 2020

bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 7 2020, 8:27 AM · Restricted Project
bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 7 2020, 8:09 AM · Restricted Project
bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Applied code review comments.

Feb 7 2020, 8:09 AM · Restricted Project

Feb 6 2020

bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Ignore -sycl-std if it used in non-SYCL mode.

Feb 6 2020, 3:13 PM · Restricted Project
bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 6 2020, 8:59 AM · Restricted Project
bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 6 2020, 8:32 AM · Restricted Project
bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Applied Alexey's comments.

Feb 6 2020, 8:06 AM · Restricted Project
bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Applied suggestions from Alexey and Ruyman and rebased on ToT.

Feb 6 2020, 2:43 AM · Restricted Project
bader committed rG863d9752105f: [SYCL][Driver] Add clang driver option to enable SYCL compilation mode (authored by bader).
[SYCL][Driver] Add clang driver option to enable SYCL compilation mode
Feb 6 2020, 12:57 AM
bader closed D74048: [SYCL][Driver] Add clang driver option to enable SYCL compilation mode.
Feb 6 2020, 12:56 AM · Restricted Project

Feb 5 2020

bader updated the diff for D74048: [SYCL][Driver] Add clang driver option to enable SYCL compilation mode.

Applied clang-format.

Feb 5 2020, 8:49 AM · Restricted Project
bader updated the diff for D74048: [SYCL][Driver] Add clang driver option to enable SYCL compilation mode.

Refactor clang/lib/Driver/ToolChains/Clang.cpp in accordance with Alexey's suggestion.

Feb 5 2020, 8:40 AM · Restricted Project
bader added a comment to D74048: [SYCL][Driver] Add clang driver option to enable SYCL compilation mode.

Thanks for the prompt review.
I've applied your suggestions.

Feb 5 2020, 8:15 AM · Restricted Project
bader updated the diff for D74048: [SYCL][Driver] Add clang driver option to enable SYCL compilation mode.

Applied suggestions from Alexey

Feb 5 2020, 8:12 AM · Restricted Project
bader updated the diff for D74048: [SYCL][Driver] Add clang driver option to enable SYCL compilation mode.

Rebased on ToT.

Feb 5 2020, 6:30 AM · Restricted Project
bader created D74048: [SYCL][Driver] Add clang driver option to enable SYCL compilation mode.
Feb 5 2020, 6:20 AM · Restricted Project

Feb 3 2020

bader added inline comments to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Feb 3 2020, 9:09 AM · Restricted Project
bader added reviewers for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version: hfinkel, ABataev, sdmitriev.
Feb 3 2020, 5:23 AM · Restricted Project

Feb 1 2020

bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Fix clang-format and clang-tidy issues reported by merge_guards_bot

Feb 1 2020, 2:40 AM · Restricted Project

Jan 31 2020

bader updated the diff for D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Applied suggestion from Ruyman.

Jan 31 2020, 9:40 AM · Restricted Project

Jan 30 2020

bader added a comment to D72362: [clang-tidy] misc-no-recursion: a new check.

@lebedev.ri, thanks for the suggestion. We will investigate this option when we ready to upload clang diagnostics patch.

Jan 30 2020, 1:59 AM · Restricted Project, Restricted Project

Jan 29 2020

bader accepted D73651: [OpenCL][CUDA][HIP][SYCL] Add norecurse.

Thanks!

Jan 29 2020, 11:59 PM · Restricted Project
bader added a comment to D73651: [OpenCL][CUDA][HIP][SYCL] Add norecurse.

Added handling of SYCL kernels by Alexey's comments. I cannot add a codegen test for SYCL since I cannot find a way to instantiate a SYCL kernel.

Jan 29 2020, 12:54 PM · Restricted Project
bader added inline comments to D73651: [OpenCL][CUDA][HIP][SYCL] Add norecurse.
Jan 29 2020, 11:49 AM · Restricted Project

Jan 22 2020

bader added a comment to D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.

Maybe we should use the year of issue (2015 instead of 1.2.1) for the -sycl-std version? That would be more stable for the upcoming SYCL versions, and match somehow the C++ versioning.

Jan 22 2020, 5:02 AM · Restricted Project

Jan 21 2020

bader committed rGdd18729b2a7a: [Attr][Doc][NFC] Fix code snippet formatting for attribute documentation (authored by bader).
[Attr][Doc][NFC] Fix code snippet formatting for attribute documentation
Jan 21 2020, 10:39 AM
bader closed D73104: [Attr][Doc][NFC] Fix code snippet formatting for attribute documentation.
Jan 21 2020, 10:39 AM · Restricted Project
bader created D73104: [Attr][Doc][NFC] Fix code snippet formatting for attribute documentation.
Jan 21 2020, 6:57 AM · Restricted Project

Jan 16 2020

bader created D72857: [SYCL] Driver option to enable SYCL mode and select SYCL version.
Jan 16 2020, 10:13 AM · Restricted Project

Jan 14 2020

bader updated subscribers of D72362: [clang-tidy] misc-no-recursion: a new check.

Does it make sense to implement such diagnostics in clang Sema, considering that OpenCL does not allow recursion?
We implemented similar diagnostics for SYCL programming model and would be like to upstream it to clang later (https://github.com/intel/llvm/commit/4efe9fcf2dc6f6150b5b477b0f8320ea13a7f596). Can we somehow leverage this work for the compiler?

Implementing it elsewhere will be more restrictive in the future - somehow i suspect
it will be easier to make clang-tidy CTU-aware rather than clang sema.

That being said, is SYCL inherently single-TU, does it not support
linking multiple separately compiled object files together?

Jan 14 2020, 4:09 AM · Restricted Project, Restricted Project

Jan 13 2020

bader added a comment to D72362: [clang-tidy] misc-no-recursion: a new check.

Does it make sense to implement such diagnostics in clang Sema, considering that OpenCL does not allow recursion?
We implemented similar diagnostics for SYCL programming model and would be like to upstream it to clang later (https://github.com/intel/llvm/commit/4efe9fcf2dc6f6150b5b477b0f8320ea13a7f596). Can we somehow leverage this work for the compiler?

Jan 13 2020, 10:44 AM · Restricted Project, Restricted Project

Dec 28 2019

bader committed rG128f39da932b: Fix crash in getFullyQualifiedName for inline namespace (authored by bader).
Fix crash in getFullyQualifiedName for inline namespace
Dec 28 2019, 8:43 AM
bader closed D71962: Fix crash in getFullyQualifiedName for inline namespace.
Dec 28 2019, 8:43 AM · Restricted Project
bader created D71962: Fix crash in getFullyQualifiedName for inline namespace.
Dec 28 2019, 8:29 AM · Restricted Project

Dec 12 2019

bader committed rG2d6a5e4fe45d: [OpenMP][Test] Add check for aux-triple predefined macros (authored by bader).
[OpenMP][Test] Add check for aux-triple predefined macros
Dec 12 2019, 6:42 AM
bader closed D71413: [OpenMP][Test] Add check for aux-triple predefined macros.
Dec 12 2019, 6:42 AM · Restricted Project
bader created D71413: [OpenMP][Test] Add check for aux-triple predefined macros.
Dec 12 2019, 5:01 AM · Restricted Project

Dec 11 2019

bader updated subscribers of D71272: [OpenCL] Pretty print __private addr space.

LGTM, but I'd like someone who works on OpenCL front-end to approve.
+@AlexeySotkin

Dec 11 2019, 5:59 AM · Restricted Project
bader committed rGcb30ad728f0b: [SYCL] Add support for auxiliary triple specification to Frontend (authored by bader).
[SYCL] Add support for auxiliary triple specification to Frontend
Dec 11 2019, 4:55 AM
bader closed D71286: [SYCL] Add support for auxiliary triple specification to Frontend.
Dec 11 2019, 4:55 AM · Restricted Project
bader updated the diff for D71286: [SYCL] Add support for auxiliary triple specification to Frontend.

Added LIT test.

Dec 11 2019, 3:13 AM · Restricted Project

Dec 10 2019

bader added a comment to D71286: [SYCL] Add support for auxiliary triple specification to Frontend.

Most probably, just missed the testing of the frontend part here

Dec 10 2019, 10:55 AM · Restricted Project
bader created D71286: [SYCL] Add support for auxiliary triple specification to Frontend.
Dec 10 2019, 10:37 AM · Restricted Project
bader added a comment to D71286: [SYCL] Add support for auxiliary triple specification to Frontend.

I'm looking for test suggestions as I was not able to find tests covering similar changes for OpenMP compiler.

Dec 10 2019, 10:37 AM · Restricted Project

Dec 6 2019

bader added a comment to D71005: [AST] Enable expression of OpenCL language address spaces an attribute.

@aaron.ballman, thank you for fixing the problem with documentation generation.

Dec 6 2019, 10:12 AM · Restricted Project

Dec 5 2019

bader added a comment to D71005: [AST] Enable expression of OpenCL language address spaces an attribute.

is there a reason this should be clang::opencl_private as opposed to opencl::private?

I'm okay with [[opencl::private]] as well. I have only one problem - currently OpenCL address spaces are exposed as keywords and using them in C++ breaks valid C++ code.

I'm not certain who controls the OpenCL spec, but this seems like it should be a decision that comes from there. Or is this functionality outside of the OpenCL spec?

Dec 5 2019, 6:58 AM · Restricted Project
bader added inline comments to D71005: [AST] Enable expression of OpenCL language address spaces an attribute.
Dec 5 2019, 5:07 AM · Restricted Project
bader committed rG11a9bae8f669: [AST] Enable expression of OpenCL language address spaces an attribute (authored by Naghasan).
[AST] Enable expression of OpenCL language address spaces an attribute
Dec 5 2019, 4:49 AM
bader closed D71005: [AST] Enable expression of OpenCL language address spaces an attribute.
Dec 5 2019, 4:48 AM · Restricted Project
bader added a comment to D71005: [AST] Enable expression of OpenCL language address spaces an attribute.

LGTM! Thanks!

I presume OpenCL addr space logic won't apply in all cases in non-OpenCL compilations i.e. for example C++ because we enclose some of the logic under LangOpts checks.

Dec 5 2019, 3:16 AM · Restricted Project

Dec 4 2019

bader added inline comments to D71005: [AST] Enable expression of OpenCL language address spaces an attribute.
Dec 4 2019, 5:39 AM · Restricted Project