Page MenuHomePhabricator

Anastasia (Anastasia Stulova)
Compiler Engineer at ARM / Code Owner of OpenCL in Clang

Projects

User does not belong to any projects.

User Details

User Since
Mar 5 2015, 8:05 AM (237 w, 3 d)

Recent Activity

Fri, Sep 13

Anastasia accepted D63504: [OpenCL] Add version handling and add vector ld/st builtins.

LGTM! Thanks!

Fri, Sep 13, 3:59 AM · Restricted Project, Restricted Project

Thu, Sep 12

Anastasia added inline comments to D65744: [PR42707][OpenCL] Fix addr space deduction for auto.
Thu, Sep 12, 6:45 AM
Anastasia updated the diff for D65744: [PR42707][OpenCL] Fix addr space deduction for auto.
  • Move addr space deduction to a later phase.
Thu, Sep 12, 6:32 AM

Wed, Sep 4

Anastasia updated the diff for D65744: [PR42707][OpenCL] Fix addr space deduction for auto.
  • Added forgotten test
Wed, Sep 4, 5:47 AM
Anastasia added a comment to D65744: [PR42707][OpenCL] Fix addr space deduction for auto.

I think this looks good. Maybe the tests should be extended to test auto as function return type, and if there's some special handling around decltype(auto), then it should be tested too, but I'm not sure it's actually needed here. What do you think?

Wed, Sep 4, 4:06 AM
Anastasia added inline comments to D65744: [PR42707][OpenCL] Fix addr space deduction for auto.
Wed, Sep 4, 4:05 AM
Anastasia added a comment to D65744: [PR42707][OpenCL] Fix addr space deduction for auto.

I don't think this is likely to change. Are you suggesting to move the deduction logic for pointee of pointers, references and block pointers into ASTContext helper that creates a pointer/reference/block pointer type?

No. I'm suggesting that the deduction logic should be much more straightforward, just some sort of "is the type non-dependent and lacking a qualifier", and it should be applied in the two basic places we build these types in Sema, i.e. in the type-from-declarator logic and in the Build{Pointer,Reference}Type logic.

Wed, Sep 4, 4:03 AM
Anastasia updated the diff for D65744: [PR42707][OpenCL] Fix addr space deduction for auto.

Moved addr space of pointee inference into Build* helpers of Sema.

Wed, Sep 4, 4:01 AM

Tue, Sep 3

Anastasia accepted D63480: [OpenCL] Add image type handling for builtin functions.

LGTM! Thanks!

Tue, Sep 3, 8:41 AM · Restricted Project, Restricted Project

Fri, Aug 30

Anastasia added a comment to D65744: [PR42707][OpenCL] Fix addr space deduction for auto.

missing test case

Fri, Aug 30, 3:26 AM

Wed, Aug 28

Anastasia added inline comments to D63480: [OpenCL] Add image type handling for builtin functions.
Wed, Aug 28, 11:13 AM · Restricted Project, Restricted Project
Anastasia accepted D66883: PR42045: Fix diagnosing enqueue_kernel call with too few args.

LGTM! Thanks!

Wed, Aug 28, 7:44 AM · Restricted Project, Restricted Project

Aug 23 2019

Anastasia committed rGad5047d23dda: [OpenCL] Renamed value of std flag in C++ mode. (authored by Anastasia).
[OpenCL] Renamed value of std flag in C++ mode.
Aug 23 2019, 10:11 AM
Anastasia committed rGd0b88fce0a21: [Docs][OpenCL] Release 9.0 notes for OpenCL (authored by Anastasia).
[Docs][OpenCL] Release 9.0 notes for OpenCL
Aug 23 2019, 6:56 AM
Anastasia committed rG976022e35c74: [Docs][OpenCL] Several corrections to C++ for OpenCL (authored by Anastasia).
[Docs][OpenCL] Several corrections to C++ for OpenCL
Aug 23 2019, 4:45 AM

Aug 19 2019

Anastasia updated the diff for D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.

Added small corrections in various parts.

Aug 19 2019, 9:17 AM · Restricted Project
Anastasia accepted D63442: [OpenCL] Add const, volatile and pointer handling for builtin functions.

LGTM! Thanks!

Aug 19 2019, 7:54 AM · Restricted Project, Restricted Project
Anastasia updated the diff for D66294: [Docs][OpenCL] Release 9.0 notes for OpenCL.
  • Added empty line and ; as requested on the review.
Aug 19 2019, 7:34 AM · Restricted Project
Anastasia committed rGeb801abd5817: [OpenCL] Fix addr space deduction for pointers/references to arrays. (authored by Anastasia).
[OpenCL] Fix addr space deduction for pointers/references to arrays.
Aug 19 2019, 4:45 AM
Anastasia accepted D65456: [OpenCL] Add generic type handling for builtin functions.

LGTM! Thanks!

Aug 19 2019, 3:48 AM · Restricted Project, Restricted Project

Aug 16 2019

Anastasia updated the diff for D66294: [Docs][OpenCL] Release 9.0 notes for OpenCL.
Aug 16 2019, 7:29 AM · Restricted Project
Anastasia added inline comments to D66294: [Docs][OpenCL] Release 9.0 notes for OpenCL.
Aug 16 2019, 7:01 AM · Restricted Project
Anastasia updated the diff for D66294: [Docs][OpenCL] Release 9.0 notes for OpenCL.
Aug 16 2019, 7:01 AM · Restricted Project
Anastasia updated the diff for D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.
  • Addressed comments from Sven.
Aug 16 2019, 4:47 AM · Restricted Project
Anastasia added inline comments to D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.
Aug 16 2019, 4:47 AM · Restricted Project

Aug 15 2019

Anastasia created D66294: [Docs][OpenCL] Release 9.0 notes for OpenCL.
Aug 15 2019, 7:31 AM · Restricted Project

Aug 14 2019

Anastasia added inline comments to D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.
Aug 14 2019, 6:49 AM · Restricted Project
Anastasia updated the diff for D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.

Addressed various comments from Kevin.

Aug 14 2019, 6:35 AM · Restricted Project
Anastasia added a comment to D65744: [PR42707][OpenCL] Fix addr space deduction for auto.

I see. Is the deduction rule recursive or something, where a pointer to pointer is inferred to point to the same address space as the pointee?

Aug 14 2019, 4:42 AM

Aug 13 2019

Anastasia added inline comments to D65456: [OpenCL] Add generic type handling for builtin functions.
Aug 13 2019, 9:17 AM · Restricted Project, Restricted Project
Anastasia added a comment to D65744: [PR42707][OpenCL] Fix addr space deduction for auto.

Isn't the general rule for template argument deduction (which this devolves to) just to ignore top-level qualifiers? And then you can substitute in the substituted type and end up with a properly qualified type for the parameter / variable, and you can add extra qualifiers as necessary. Why are special rules for pointers and references required?

Aug 13 2019, 4:51 AM
Anastasia retitled D66137: [OpenCL][PR42385] Improve addr space deduction for pointers/references to arrays from [OpenCL][PR42385]Improve addr space deduction for pointers/references to arrays to [OpenCL][PR42385] Improve addr space deduction for pointers/references to arrays.
Aug 13 2019, 4:34 AM · Restricted Project
Anastasia created D66137: [OpenCL][PR42385] Improve addr space deduction for pointers/references to arrays.
Aug 13 2019, 4:34 AM · Restricted Project

Aug 12 2019

Anastasia accepted D66080: [OpenCL] Ignore parentheses for sampler initialization.

LGTM! Thanks!

Aug 12 2019, 5:07 AM · Restricted Project, Restricted Project
Anastasia committed rGef58804ebc19: [OpenCL] Fix lang mode predefined macros for C++ mode. (authored by Anastasia).
[OpenCL] Fix lang mode predefined macros for C++ mode.
Aug 12 2019, 3:46 AM

Aug 8 2019

Anastasia created D65941: [OpenCL] Fix lang mode predefined macros for C++ mode.
Aug 8 2019, 4:52 AM · Restricted Project

Aug 5 2019

Anastasia created D65744: [PR42707][OpenCL] Fix addr space deduction for auto.
Aug 5 2019, 6:34 AM
Anastasia added a comment to D65286: [OpenCL] Allow OpenCL C style vector initialization in C++.

Please be aware about build bot failure (http://lab.llvm.org:8011/builders/clang-cmake-thumbv7-full-sh/builds/2185) most likely caused by this change.

Aug 5 2019, 2:51 AM · Restricted Project
Anastasia committed rGab4a5d14b582: [OpenCL] Fix vector literal test broken in rL367675. (authored by Anastasia).
[OpenCL] Fix vector literal test broken in rL367675.
Aug 5 2019, 2:51 AM

Aug 2 2019

Anastasia committed rG8d99a5c0e629: [OpenCL] Allow OpenCL C style vector initialization in C++ (authored by Anastasia).
[OpenCL] Allow OpenCL C style vector initialization in C++
Aug 2 2019, 4:20 AM

Aug 1 2019

Anastasia added inline comments to D65456: [OpenCL] Add generic type handling for builtin functions.
Aug 1 2019, 7:38 AM · Restricted Project, Restricted Project

Jul 30 2019

Anastasia added inline comments to D62574: Initial draft of target-configurable address spaces..
Jul 30 2019, 10:22 AM · Restricted Project
Anastasia added a comment to D65286: [OpenCL] Allow OpenCL C style vector initialization in C++.

In vector_literals_nested.cl, we have tests for (global) constants. Do you think it would be worth testing those as well in C++ mode? Maybe the two files (vector_literals_nested.cl and vector_literals_valid.cl) should also be merged as most of their content seems duplicated.

Jul 30 2019, 9:00 AM · Restricted Project
Anastasia updated the diff for D65286: [OpenCL] Allow OpenCL C style vector initialization in C++.
  • Removed another duplicate file and added testing of constant program scope initializers into vector_literals_nested.cl
Jul 30 2019, 9:00 AM · Restricted Project
Anastasia updated the diff for D65286: [OpenCL] Allow OpenCL C style vector initialization in C++.
  • Merged test/CodeGenOpenCL/vector_literals_nested.cl into test/CodeGenOpenCL/vector_literals_valid.cl
  • Added negative test case for C++
Jul 30 2019, 8:06 AM · Restricted Project

Jul 26 2019

Anastasia updated the summary of D65286: [OpenCL] Allow OpenCL C style vector initialization in C++.
Jul 26 2019, 4:36 AM · Restricted Project
Anastasia added a comment to D65286: [OpenCL] Allow OpenCL C style vector initialization in C++.

Wait, plain C++? Do we currently allow this syntax outside of OpenCL?

Jul 26 2019, 4:36 AM · Restricted Project
Anastasia accepted D65294: Make the CXXABIs respect the target's default calling convention..

This should probably go to release 9.0?

Jul 26 2019, 4:31 AM

Jul 25 2019

Anastasia abandoned D59426: [PR41010][OpenCL] Allow OpenCL C style vector initialization in C++.

Created a follow up review in https://reviews.llvm.org/D65286

Jul 25 2019, 9:04 AM
Anastasia created D65286: [OpenCL] Allow OpenCL C style vector initialization in C++.
Jul 25 2019, 8:58 AM · Restricted Project
Anastasia committed rG88ed70e24705: [OpenCL] Rename lang mode flag for C++ mode (authored by Anastasia).
[OpenCL] Rename lang mode flag for C++ mode
Jul 25 2019, 4:05 AM

Jul 24 2019

Anastasia added inline comments to D65102: [OpenCL] Rename lang mode flag for C++ mode.
Jul 24 2019, 3:52 AM · Restricted Project

Jul 23 2019

Anastasia added a comment to D65102: [OpenCL] Rename lang mode flag for C++ mode.

Hmm, maybe we need to make sure that one of the tests is using a C++ feature and building with CLC++. This would have caught the mistake.

Jul 23 2019, 9:47 AM · Restricted Project
Anastasia updated the diff for D65102: [OpenCL] Rename lang mode flag for C++ mode.

Use -cl-std=CLC++ spelling for test/CodeGenOpenCLCXX/addrspace-with-class.cl

Jul 23 2019, 9:47 AM · Restricted Project
Anastasia added inline comments to D65102: [OpenCL] Rename lang mode flag for C++ mode.
Jul 23 2019, 9:25 AM · Restricted Project
Anastasia updated the diff for D65102: [OpenCL] Rename lang mode flag for C++ mode.
  • Fixed LANGSTANDARD_ALIAS_DEPR
Jul 23 2019, 9:25 AM · Restricted Project

Jul 22 2019

Anastasia created D65102: [OpenCL] Rename lang mode flag for C++ mode.
Jul 22 2019, 10:07 AM · Restricted Project

Jul 18 2019

Anastasia added a comment to D64569: [OpenCL] Improve destructor support in C++ for OpenCL.

The commit has been reverted due to issues with libc++:

Jul 18 2019, 6:47 AM · Restricted Project, Restricted Project
Anastasia added a comment to D59426: [PR41010][OpenCL] Allow OpenCL C style vector initialization in C++.

ping!

Jul 18 2019, 3:30 AM
Anastasia committed rG46b55fa58dea: [OpenCL] Update comments/diagnostics to refer to C++ for OpenCL (authored by Anastasia).
[OpenCL] Update comments/diagnostics to refer to C++ for OpenCL
Jul 18 2019, 3:03 AM
Anastasia accepted D64569: [OpenCL] Improve destructor support in C++ for OpenCL.

LGTM! Thanks!

Jul 18 2019, 2:58 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D64867: [OpenCL] Update comments/diagnostics to refer to C++ for OpenCL mode.
Jul 18 2019, 2:24 AM · Restricted Project
Anastasia committed rG36d9e8358aa2: [OpenCL][PR42033] Fix addr space deduction with template parameters (authored by Anastasia).
[OpenCL][PR42033] Fix addr space deduction with template parameters
Jul 18 2019, 2:14 AM

Jul 17 2019

Anastasia updated the diff for D64867: [OpenCL] Update comments/diagnostics to refer to C++ for OpenCL mode.
  • Updated comments
  • Added motivation
Jul 17 2019, 11:33 AM · Restricted Project
Anastasia reopened D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.

Reopening to continue reviews.

Jul 17 2019, 11:28 AM · Restricted Project
Anastasia committed rG79f4e4770b72: [Docs][OpenCL] Documentation of C++ for OpenCL mode (authored by Anastasia).
[Docs][OpenCL] Documentation of C++ for OpenCL mode
Jul 17 2019, 10:22 AM
Anastasia added a comment to D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.

Very useful to have all of this documented! Thanks!

Jul 17 2019, 7:47 AM · Restricted Project
Anastasia created D64867: [OpenCL] Update comments/diagnostics to refer to C++ for OpenCL mode.
Jul 17 2019, 6:36 AM · Restricted Project
Anastasia updated the diff for D62584: [OpenCL][PR42033] Deducing addr space with template parameter types.

Fixed typo in the comment

Jul 17 2019, 2:43 AM · Restricted Project

Jul 16 2019

Anastasia updated the diff for D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.
Jul 16 2019, 8:11 AM · Restricted Project
Anastasia accepted D64791: [OpenCL] Fix sampler initialization for C++ mode.

I expect the example from the bug is going to compile now: https://bugs.llvm.org/show_bug.cgi?id=41009

Jul 16 2019, 5:02 AM · Restricted Project
Anastasia added inline comments to D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.
Jul 16 2019, 4:56 AM · Restricted Project
Anastasia updated the diff for D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.

Addressed some review comments. Refs are still to be fixed!

Jul 16 2019, 4:53 AM · Restricted Project
Anastasia added a comment to D62584: [OpenCL][PR42033] Deducing addr space with template parameter types.

Oh, yes, it definitely can't be done to class types. I suppose we should just forget about it.

Ok, regarding address space qualifiers in template instantiation - is it still ok that we ignore them here in this patch?

I think ignoring them in templates rather than diagnosing is the right thing to do, since it means that reasonable things, e.g. template functions returning T, won't be erroneous if you instantiate T = __global int just like they wouldn't be with T = const int.

Jul 16 2019, 2:49 AM · Restricted Project

Jul 15 2019

Anastasia accepted D64608: [OpenCL] Make TableGen'd builtin tables and helper functions static.

LGTM! Thanks!

Jul 15 2019, 6:25 AM · Restricted Project, Restricted Project
Anastasia committed rGd6f34bf4d4a3: [OpenCL] Deduce addr space for pointee of dependent types in instantiation. (authored by Anastasia).
[OpenCL] Deduce addr space for pointee of dependent types in instantiation.
Jul 15 2019, 6:03 AM
Anastasia committed rG960ff0810da8: [OpenCL][PR41727] Prevent ICE on global dtors (authored by Anastasia).
[OpenCL][PR41727] Prevent ICE on global dtors
Jul 15 2019, 4:59 AM
Anastasia added inline comments to D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.
Jul 15 2019, 4:43 AM · Restricted Project
Anastasia added a comment to D59426: [PR41010][OpenCL] Allow OpenCL C style vector initialization in C++.

@rsmith, do you have any comments here? It would be quite useful to have this patch in Clang9.

Jul 15 2019, 4:13 AM
Anastasia added a comment to D64083: [OpenCL][Sema] Improve address space support for blocks.

Okay, so it sounds like *from the language perspective* all block pointers are actually pointers into __generic, and the thing with literals is just an implementation detail that's been inappropriately expressed in the AST. The better implementation strategy is to make sure that (1) the AST uses the size/alignment of a __generic pointer for a block pointer and (2) IRGen implicitly converts block literals to __generic pointers when it emits them, and then there's no such thing as a block pointer to a qualified type.

This is actually important to get right in C++ because of auto and templates; you really don't want non-generic block pointer types to become an expressible thing in the language.

Jul 15 2019, 3:42 AM · Restricted Project, Restricted Project
Anastasia added a comment to D62584: [OpenCL][PR42033] Deducing addr space with template parameter types.

Oh, yes, it definitely can't be done to class types. I suppose we should just forget about it.

Jul 15 2019, 3:01 AM · Restricted Project

Jul 12 2019

Anastasia added a comment to D64400: [OpenCL][PR42390] Deduce addr space for templ specialization.

There are some code paths that I think are common between the parser and template instantiation, like BuildPointerType and BuildReferenceType, but if you want to do context-sensitive inference that might not be good enough.

Jul 12 2019, 8:12 AM · Restricted Project
Anastasia added inline comments to D62584: [OpenCL][PR42033] Deducing addr space with template parameter types.
Jul 12 2019, 8:06 AM · Restricted Project
Anastasia added inline comments to D62413: [OpenCL][PR41727] Prevent ICE on global dtors.
Jul 12 2019, 5:04 AM · Restricted Project
Anastasia updated the diff for D62413: [OpenCL][PR41727] Prevent ICE on global dtors.

Generate NULL for pointer param of __cxa_atexit on mismatching addr spaces

Jul 12 2019, 5:04 AM · Restricted Project
Anastasia added inline comments to D64569: [OpenCL] Improve destructor support in C++ for OpenCL.
Jul 12 2019, 4:53 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D64083: [OpenCL][Sema] Improve address space support for blocks.
Jul 12 2019, 4:03 AM · Restricted Project, Restricted Project

Jul 11 2019

Anastasia added inline comments to D64083: [OpenCL][Sema] Improve address space support for blocks.
Jul 11 2019, 7:14 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D64400: [OpenCL][PR42390] Deduce addr space for templ specialization.
Jul 11 2019, 6:54 AM · Restricted Project
Anastasia updated the diff for D64400: [OpenCL][PR42390] Deduce addr space for templ specialization.
  • Moved addr space inference of pointee type into template instantiation.
Jul 11 2019, 6:43 AM · Restricted Project
Anastasia added inline comments to D62413: [OpenCL][PR41727] Prevent ICE on global dtors.
Jul 11 2019, 1:29 AM · Restricted Project

Jul 10 2019

Anastasia added inline comments to D62584: [OpenCL][PR42033] Deducing addr space with template parameter types.
Jul 10 2019, 11:42 AM · Restricted Project
Anastasia added inline comments to D62413: [OpenCL][PR41727] Prevent ICE on global dtors.
Jul 10 2019, 10:34 AM · Restricted Project
Anastasia updated the diff for D62413: [OpenCL][PR41727] Prevent ICE on global dtors.

Changed API for target hook.

Jul 10 2019, 10:34 AM · Restricted Project
Anastasia added inline comments to D64400: [OpenCL][PR42390] Deduce addr space for templ specialization.
Jul 10 2019, 9:46 AM · Restricted Project
Anastasia updated the diff for D64400: [OpenCL][PR42390] Deduce addr space for templ specialization.
  • Added handling of similar test case with InjectedClassNameType
Jul 10 2019, 9:43 AM · Restricted Project
Anastasia added inline comments to D64083: [OpenCL][Sema] Improve address space support for blocks.
Jul 10 2019, 5:13 AM · Restricted Project, Restricted Project

Jul 9 2019

Anastasia added a reviewer for D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode: kpet.
Jul 9 2019, 8:11 AM · Restricted Project
Anastasia created D64418: [Docs][OpenCL] Documentation of C++ for OpenCL mode.
Jul 9 2019, 7:25 AM · Restricted Project
Anastasia accepted D64409: [libclang] Fix hang in release / assertion in debug when evaluating value-dependent types..

LGTM! Thanks!

Jul 9 2019, 7:18 AM · Restricted Project, Restricted Project