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 (202 w, 3 d)

Recent Activity

Fri, Jan 18

Anastasia updated the diff for D55850: [OpenCL] Allow address spaces as method qualifiers.

Added a comment explaining when multiple address spaces are diagnosed.

Fri, Jan 18, 4:37 AM

Thu, Jan 17

Anastasia updated the diff for D55850: [OpenCL] Allow address spaces as method qualifiers.
  • Fixed typo in FIXME
Thu, Jan 17, 7:07 AM
Anastasia added inline comments to D55850: [OpenCL] Allow address spaces as method qualifiers.
Thu, Jan 17, 7:01 AM
Anastasia updated the diff for D55850: [OpenCL] Allow address spaces as method qualifiers.
  • Removed else case in DiagnoseMultipleAddrSpaceAttributes
  • Added extra test to check correctness of addr space for 'this' when statically used in a class scope.
Thu, Jan 17, 6:56 AM
Anastasia updated the diff for D56735: [OpenCL] Fix overloading ranking rules to work correctly for address space conversions .

Improved test.

Thu, Jan 17, 3:39 AM

Wed, Jan 16

Anastasia updated the diff for D56735: [OpenCL] Fix overloading ranking rules to work correctly for address space conversions .
  • Changed the condition to use all qualifiers except for ObjC ownership ones.
Wed, Jan 16, 9:52 AM
Anastasia added inline comments to D56066: [OpenCL] Address space for default class members.
Wed, Jan 16, 9:16 AM
Anastasia created D56792: Rename getTypeQualifiers to getMethodQualifiers.
Wed, Jan 16, 9:16 AM
Anastasia retitled D56735: [OpenCL] Fix overloading ranking rules to work correctly for address space conversions from [OpenCL] Fix overloading ranking rules to work correctly for address space coversions to [OpenCL] Fix overloading ranking rules to work correctly for address space conversions .
Wed, Jan 16, 4:44 AM
Anastasia updated the diff for D55850: [OpenCL] Allow address spaces as method qualifiers.

Fixed wording on the comment.

Wed, Jan 16, 4:39 AM
Anastasia added a comment to D56735: [OpenCL] Fix overloading ranking rules to work correctly for address space conversions .

Is there a reason not to just do T1.getQualifiers() == T2.getQualifiers()?

Wed, Jan 16, 4:32 AM
Anastasia added a comment to D55850: [OpenCL] Allow address spaces as method qualifiers.

Okay, so is this ready to re-review independently?

Wed, Jan 16, 2:38 AM

Tue, Jan 15

Anastasia added inline comments to D55850: [OpenCL] Allow address spaces as method qualifiers.
Tue, Jan 15, 11:07 AM
Anastasia updated the diff for D55850: [OpenCL] Allow address spaces as method qualifiers.

Rebased on top of recent related changes and addressed remaining review comments.

Tue, Jan 15, 11:05 AM
Anastasia created D56735: [OpenCL] Fix overloading ranking rules to work correctly for address space conversions .
Tue, Jan 15, 11:00 AM
Anastasia accepted D56646: [OpenCL] opencl-c.h: read_image*(): sampler-less, and image{1,2}d_array_t variants are OpenCL-1.2+, mark them as such.

LGTM! Overall I feel we need to find some way to test the header better...

Tue, Jan 15, 3:15 AM · Restricted Project

Fri, Jan 11

Anastasia added inline comments to D56066: [OpenCL] Address space for default class members.
Fri, Jan 11, 5:56 AM
Anastasia updated the diff for D56066: [OpenCL] Address space for default class members.
  • Set correctly value kind of address space conversion after materializing the temporary
  • Removed changes in various places including CodeGen for address space conversion that became unnecessary after the AST is generated correctly.
  • Updated tests to check for the right IR and also not to use hard-coded registers.
Fri, Jan 11, 5:54 AM

Thu, Jan 10

Anastasia updated the diff for D56066: [OpenCL] Address space for default class members.

Removed FIXME that this patch fixes.

Thu, Jan 10, 11:20 AM
Anastasia updated the diff for D56066: [OpenCL] Address space for default class members.

Modified conversion sequence to perform address space conversion after temporary materialization conversion.

Thu, Jan 10, 11:18 AM

Wed, Jan 9

Anastasia added inline comments to D56066: [OpenCL] Address space for default class members.
Wed, Jan 9, 10:09 AM

Mon, Jan 7

Anastasia updated the diff for D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.

Added hasMethodTypeQualifiers method.

Mon, Jan 7, 5:00 AM

Fri, Jan 4

Anastasia added inline comments to D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.
Fri, Jan 4, 4:58 AM
Anastasia updated the diff for D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.
  • Added forEachQualifiers to DeclSpec.
  • Removed dead code.
  • Moved lambdas definition inline into the function parameters.
Fri, Jan 4, 4:57 AM

Thu, Jan 3

Anastasia added inline comments to D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.
Thu, Jan 3, 2:49 AM

Wed, Jan 2

Anastasia added inline comments to D56066: [OpenCL] Address space for default class members.
Wed, Jan 2, 11:16 AM
Anastasia updated the diff for D56066: [OpenCL] Address space for default class members.

Addressed review comments.

Wed, Jan 2, 11:14 AM
Anastasia added inline comments to D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.
Wed, Jan 2, 10:51 AM
Anastasia updated the diff for D56198: [Basic] Extend DiagnosticEngine to store and format Qualifiers.

Addressed review comments.

Wed, Jan 2, 10:32 AM
Anastasia added inline comments to D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.
Wed, Jan 2, 9:54 AM
Anastasia updated the diff for D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.

Addressed review comments.

Wed, Jan 2, 9:54 AM
Anastasia added inline comments to D55850: [OpenCL] Allow address spaces as method qualifiers.
Wed, Jan 2, 3:37 AM
Anastasia created D56198: [Basic] Extend DiagnosticEngine to store and format Qualifiers.
Wed, Jan 2, 3:36 AM

Fri, Dec 28

Anastasia added inline comments to D55850: [OpenCL] Allow address spaces as method qualifiers.
Fri, Dec 28, 6:50 AM

Mon, Dec 24

Anastasia requested changes to D55656: [OpenCL] Address space for default class members.

@mikael can you please close this review, because I opened another one to continue this: https://reviews.llvm.org/D56066.

Mon, Dec 24, 10:23 AM
Anastasia added inline comments to D55656: [OpenCL] Address space for default class members.
Mon, Dec 24, 10:19 AM
Anastasia created D56066: [OpenCL] Address space for default class members.
Mon, Dec 24, 10:17 AM
Anastasia added inline comments to D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.
Mon, Dec 24, 6:30 AM
Anastasia updated the diff for D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.
  • Changed to store DeclSpec only when quals are present.
  • Renamed to MethodQualifiers.
Mon, Dec 24, 6:24 AM

Dec 20 2018

Anastasia added inline comments to D55850: [OpenCL] Allow address spaces as method qualifiers.
Dec 20 2018, 12:39 PM
Anastasia created D55948: Modify DeclaratorChuck::getFunction to use DeclSpec for qualifiers.
Dec 20 2018, 12:31 PM

Dec 19 2018

Anastasia added a comment to D55850: [OpenCL] Allow address spaces as method qualifiers.

You're gating on OpenCL C++ in several places in this patch, but I don't think you need to. This extension should be available to anyone using address spaces and C++.

Dec 19 2018, 10:04 AM
Anastasia added inline comments to D55850: [OpenCL] Allow address spaces as method qualifiers.
Dec 19 2018, 10:01 AM
Anastasia updated the diff for D55850: [OpenCL] Allow address spaces as method qualifiers.

Address review comments.

Dec 19 2018, 10:01 AM

Dec 18 2018

Anastasia added inline comments to D55850: [OpenCL] Allow address spaces as method qualifiers.
Dec 18 2018, 12:49 PM
Anastasia updated the diff for D55850: [OpenCL] Allow address spaces as method qualifiers.

Removed FIXME that has been addressed

Dec 18 2018, 12:47 PM
Anastasia created D55850: [OpenCL] Allow address spaces as method qualifiers.
Dec 18 2018, 12:41 PM

Dec 17 2018

Anastasia added inline comments to D55656: [OpenCL] Address space for default class members.
Dec 17 2018, 5:20 AM

Dec 12 2018

Anastasia accepted D54862: [OpenCL] Add generic AS to 'this' pointer.

LGTM! Apart from small improvement that can done before committing if it works at all. :)

Dec 12 2018, 2:41 AM

Dec 11 2018

Anastasia added inline comments to D54862: [OpenCL] Add generic AS to 'this' pointer.
Dec 11 2018, 2:55 AM

Dec 5 2018

Anastasia added inline comments to D54862: [OpenCL] Add generic AS to 'this' pointer.
Dec 5 2018, 7:50 AM
Anastasia added inline comments to D54862: [OpenCL] Add generic AS to 'this' pointer.
Dec 5 2018, 6:19 AM
Anastasia updated the diff for D55127: [OpenCL] Diagnose conflicting address spaces between template definition and its instantiation.

Added last corrections before committing.

Dec 5 2018, 4:19 AM

Dec 4 2018

Anastasia added inline comments to D54862: [OpenCL] Add generic AS to 'this' pointer.
Dec 4 2018, 6:02 AM
Anastasia added a comment to D55127: [OpenCL] Diagnose conflicting address spaces between template definition and its instantiation.

Can you explain why the changes to TreeTransform are required?

Dec 4 2018, 4:59 AM
Anastasia added inline comments to D54862: [OpenCL] Add generic AS to 'this' pointer.
Dec 4 2018, 4:46 AM

Dec 3 2018

Anastasia accepted D54947: [OpenCL][CodeGen] Fix replacing memcpy with addrspacecast.

LGTM! Thanks!

Dec 3 2018, 4:03 AM
Anastasia added inline comments to D55127: [OpenCL] Diagnose conflicting address spaces between template definition and its instantiation.
Dec 3 2018, 2:59 AM
Anastasia added inline comments to D55136: [OpenCL][Sema] Improve BuildResolvedCallExpr handling of builtins.
Dec 3 2018, 2:25 AM

Nov 30 2018

Anastasia created D55127: [OpenCL] Diagnose conflicting address spaces between template definition and its instantiation.
Nov 30 2018, 8:16 AM
Anastasia accepted D55023: OpenCL: Improve vector printf warnings.

LGTM! Thanks!

Nov 30 2018, 4:17 AM

Nov 29 2018

Anastasia added a comment to D54253: [OpenCL] Launch opencl-types.cl test only on x86.

FWIW, I'd vote for the first revision of this patch. From my

understanding, the test verifies that libclang is able to parse OpenCL
code correctly. It doesn't do anything specific to x86: target for x86 just
happens to support a set of OpenCL extensions.

I am trying to understand what exactly does it bring into testing if the code doesn't have anything target specific in there?

It brings the architecture that does not support any OpenCL extension,
thus we check that types are "invalid".

Nov 29 2018, 9:03 AM
Anastasia added inline comments to D54947: [OpenCL][CodeGen] Fix replacing memcpy with addrspacecast.
Nov 29 2018, 9:01 AM
Anastasia added inline comments to D55023: OpenCL: Improve vector printf warnings.
Nov 29 2018, 8:52 AM
Anastasia accepted D55022: OpenCL: Extend argument promotion rules to vector types.

LGTM! Apart from the test can be changed.

Nov 29 2018, 8:46 AM
Anastasia added inline comments to D55023: OpenCL: Improve vector printf warnings.
Nov 29 2018, 3:23 AM
Anastasia added a comment to D55022: OpenCL: Extend argument promotion rules to vector types.

The spec is ambiguous on whether vector types are allowed to be
implicitly converted. The only legal context I think this can
be used for OpenCL is printf, where it seems necessary.

Nov 29 2018, 2:58 AM
Anastasia accepted D55021: Mark __builtin_shufflevector as using custom type checking.

LGTM!

Nov 29 2018, 2:13 AM

Nov 28 2018

Anastasia added inline comments to D54858: [OpenCL] Improve diagnostics for address spaces in template instantiation.
Nov 28 2018, 8:21 AM
Anastasia updated the diff for D54858: [OpenCL] Improve diagnostics for address spaces in template instantiation.

Removed commented code in the test.

Nov 28 2018, 8:20 AM
Anastasia updated the diff for D54858: [OpenCL] Improve diagnostics for address spaces in template instantiation.

Corrected a typo in comments.

Nov 28 2018, 8:18 AM
Anastasia added inline comments to D54858: [OpenCL] Improve diagnostics for address spaces in template instantiation.
Nov 28 2018, 4:49 AM
Anastasia updated the diff for D54858: [OpenCL] Improve diagnostics for address spaces in template instantiation.
  • Changing qualifiers while rebuilding types in TreeTransform is incorrect -> prevent deducing address space instead.
Nov 28 2018, 4:46 AM
Anastasia added inline comments to D54947: [OpenCL][CodeGen] Fix replacing memcpy with addrspacecast.
Nov 28 2018, 3:35 AM

Nov 27 2018

Anastasia added inline comments to D54862: [OpenCL] Add generic AS to 'this' pointer.
Nov 27 2018, 11:54 AM
Anastasia added inline comments to D54858: [OpenCL] Improve diagnostics for address spaces in template instantiation.
Nov 27 2018, 11:49 AM

Nov 26 2018

Anastasia added inline comments to D54862: [OpenCL] Add generic AS to 'this' pointer.
Nov 26 2018, 8:13 AM

Nov 23 2018

Anastasia added a comment to D54253: [OpenCL] Launch opencl-types.cl test only on x86.

FWIW, I'd vote for the first revision of this patch. From my
understanding, the test verifies that libclang is able to parse OpenCL
code correctly. It doesn't do anything specific to x86: target for x86 just
happens to support a set of OpenCL extensions.

Nov 23 2018, 7:24 AM
Anastasia added a reviewer for D54862: [OpenCL] Add generic AS to 'this' pointer: rjmccall.
Nov 23 2018, 7:10 AM
Anastasia accepted D52879: Derive builtin return type from its definition.

LGTM! It looks reasonable small change!

Nov 23 2018, 6:46 AM
Anastasia updated the diff for D54858: [OpenCL] Improve diagnostics for address spaces in template instantiation.

Removed FIXME from the test case that is being fixed.

Nov 23 2018, 6:10 AM
Anastasia created D54858: [OpenCL] Improve diagnostics for address spaces in template instantiation.
Nov 23 2018, 6:07 AM

Nov 16 2018

Anastasia created D54634: [OpenCL] Fix address space deduction in template args.
Nov 16 2018, 8:42 AM
Anastasia added a comment to D54253: [OpenCL] Launch opencl-types.cl test only on x86.

I'm running OpenCL on an x886 and everything is fine, but there are a lot of build bots which build different targets on different architectures. Since there are no target option specified, c-index-test uses native target.

I just realized: may be it is better to add something like // REQUIRES: x86 to the test?

Nov 16 2018, 7:43 AM

Nov 15 2018

Anastasia added a comment to D53764: [OpenCL] Enable address spaces for references in C++ .

Do you think there is anything else to do for this patch?

Nov 15 2018, 2:44 AM

Nov 14 2018

Anastasia added inline comments to D53764: [OpenCL] Enable address spaces for references in C++ .
Nov 14 2018, 10:46 AM
Anastasia added inline comments to D53764: [OpenCL] Enable address spaces for references in C++ .
Nov 14 2018, 7:28 AM
Anastasia updated the diff for D53764: [OpenCL] Enable address spaces for references in C++ .

Fixed check for AS mismatch of pointer type and added missing test case

Nov 14 2018, 7:00 AM

Nov 13 2018

Anastasia added a comment to D54258: [Clang] Fix pretty printing of CUDA address spaces.

CUDA maps __shared__ internally also to __attribute__((shared)):

#define __annotate__(a) \
        __attribute__((a))
#define __location__(a) \
        __annotate__(a)
...
#define __shared__ \
        __location__(shared)

My guess is that Clang does it just the same way and only converts to LangAS::cuda_shared for code generation in GetGlobalVarAddressSpace:
https://clang.llvm.org/doxygen/CodeGenModule_8cpp_source.html#l03305
In contrast, OpenCL uses keywords that are mapped directly to LangAS::opencl_local etc.

Nov 13 2018, 9:57 AM
Anastasia added a comment to D54253: [OpenCL] Launch opencl-types.cl test only on x86.

I am a bit confused about this testing since you are running OpenCL on architectures that aren't supposed to support it. Can you provide more details on why you are doing this?

Nov 13 2018, 9:53 AM
Anastasia added inline comments to D53764: [OpenCL] Enable address spaces for references in C++ .
Nov 13 2018, 9:48 AM
Anastasia updated the diff for D53764: [OpenCL] Enable address spaces for references in C++ .

Rewrite how CastKind is set for reference and pointer type.

Nov 13 2018, 9:46 AM

Nov 12 2018

Anastasia updated the diff for D53764: [OpenCL] Enable address spaces for references in C++ .
  • Extended assert
    • Handled AS of ToType
Nov 12 2018, 9:23 AM

Nov 9 2018

Anastasia updated the diff for D53764: [OpenCL] Enable address spaces for references in C++ .

Changed the assert for address space conversion.

Nov 9 2018, 7:41 AM
Anastasia added a comment to D54253: [OpenCL] Launch opencl-types.cl test only on x86.

Are these types represented differently wrt targets?

Nov 9 2018, 4:15 AM
Anastasia added a comment to D54258: [Clang] Fix pretty printing of CUDA address spaces.

Could this be tested using diagnostics that prints the type? Like in test/SemaOpenCL/address-spaces.cl.

Nov 9 2018, 4:11 AM

Nov 6 2018

Anastasia accepted D54162: OpenCL: Don't warn on v printf modifier.

LGTM! Thanks! Seems like a reasonable start.

Nov 6 2018, 11:10 AM
Anastasia accepted D54152: [OpenCL] Fix diagnostic message about overload candidates.

LGTM! Thanks!

Nov 6 2018, 8:47 AM

Nov 1 2018

Anastasia updated the diff for D53764: [OpenCL] Enable address spaces for references in C++ .

Addressed comments from John.

Nov 1 2018, 5:13 AM

Oct 31 2018

Anastasia added a comment to D53705: [OpenCL] Postpone PSV address space diagnostic.

FYI, I have created a bug to the OpenCL C++ spec: https://github.com/KhronosGroup/OpenCL-Docs/issues/13.

Oct 31 2018, 4:03 AM