Page MenuHomePhabricator

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

Projects

User does not belong to any projects.

User Details

User Since
Mar 5 2015, 8:05 AM (431 w, 6 h)

Recent Activity

Sun, Jun 4

Anastasia added inline comments to D151971: [mlir][openacc] Add gang dim operand to acc.loop operation.
Sun, Jun 4, 1:02 PM · Restricted Project, Restricted Project, Restricted Project
Anastasia added inline comments to D151972: [flang][openacc] Add parsing support for dim in gang clause.
Sun, Jun 4, 1:02 PM · Restricted Project, Restricted Project, Restricted Project
Anastasia accepted D151339: [OpenCL] Add cl_ext_image_raw10_raw12 extension.

LGTM! Thanks

Sun, Jun 4, 12:07 PM · Restricted Project, Restricted Project

Mon, May 22

Anastasia added a comment to D151087: [Clang] Permit address space casts with 'reinterpret_cast' in C++.

I don't feel reinterpret_cast is the right fit for this as it's expected to do just reinterpretation but addrspacecast LLVM instruction which Clang generates might result in some more operations in particular some special instructions for address calculation. Would it work if you enable addrspace_cast with double underscore prefix directly in C++ or something like this? Otherwise C-cast would be just as good as changing reinterpret cast in this way.

Mon, May 22, 11:01 AM · Restricted Project, Restricted Project

Mar 12 2023

Anastasia accepted D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0.

LGTM! Thanks

Mar 12 2023, 3:22 PM · Restricted Project, Restricted Project
Anastasia accepted D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..

LGTM! Thanks

Mar 12 2023, 3:21 PM · Restricted Project, Restricted Project, Restricted Project

Feb 19 2023

Anastasia closed D143348: [Clang][Doc][OpenCL] Release 16 notes.

Committed in https://github.com/llvm/llvm-project/commit/639db8a90d2adf7789b9d3cec3a7c26502bf819b

Feb 19 2023, 1:47 PM · Restricted Project
Anastasia added inline comments to D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0.
Feb 19 2023, 12:27 PM · Restricted Project, Restricted Project

Feb 15 2023

Anastasia added inline comments to D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0.
Feb 15 2023, 10:00 AM · Restricted Project, Restricted Project

Feb 13 2023

Anastasia added inline comments to D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0.
Feb 13 2023, 2:47 AM · Restricted Project, Restricted Project

Feb 12 2023

Anastasia added inline comments to D143348: [Clang][Doc][OpenCL] Release 16 notes.
Feb 12 2023, 1:30 PM · Restricted Project
Anastasia updated the diff for D143348: [Clang][Doc][OpenCL] Release 16 notes.

Updated bullet about nounwind attr

Feb 12 2023, 1:28 PM · Restricted Project
Anastasia added a comment to D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0.

I feel that originally pointers were disallowed because they create the same issue as size_t and etc as their size is implementation depended but the same logic applies to images and other types that are even more implementation depended. Overall this bit of the spec is very inconsistent so I don't mind if we change the behavior to be whatever we find more helpful. However I would encourage to submit an issue to OpenCL-Docs to point out this inconsistency.

Feb 12 2023, 1:18 PM · Restricted Project, Restricted Project
Anastasia added inline comments to D143472: [clang] Cast the pointer to right type with different address space.
Feb 12 2023, 12:55 PM · Restricted Project, Restricted Project
Anastasia added inline comments to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..
Feb 12 2023, 12:39 PM · Restricted Project, Restricted Project, Restricted Project

Feb 5 2023

Anastasia requested review of D143348: [Clang][Doc][OpenCL] Release 16 notes.
Feb 5 2023, 12:58 PM · Restricted Project

Feb 3 2023

Anastasia added a comment to D142948: [OpenCL] Disable vector to scalar types coercion for OpenCL.

It doesn't seem to make sense to have a LangOpt for this, if anything a new CodeGenOpt feels like a better fit. Then you should probably extend existing classify functions to prevent coercion instead of adding yet another function otherwise you will need to handle all the different corner cases again as there seem to be quite many if I look at X86_32ABIInfo::classifyReturnType...

Feb 3 2023, 12:31 PM · Restricted Project, Restricted Project
Anastasia committed rG73d834325c71: [Docs] Updated my Office Hours (authored by Anastasia).
[Docs] Updated my Office Hours
Feb 3 2023, 11:18 AM · Restricted Project, Restricted Project

Jan 15 2023

Anastasia added inline comments to D141620: clang/OpenCL: Apply default attributes to enqueued blocks.
Jan 15 2023, 12:45 PM · Restricted Project
Anastasia added inline comments to D141700: AMDGPU: Move enqueued block handling into clang.
Jan 15 2023, 12:31 PM · Restricted Project, Restricted Project
Anastasia added a comment to D141297: [OpenCL] Allow undefining header-only features.

Btw I wonder if in the future we could add some error or warning in case someone uses the same approach for frontend specific features, i.e.

#ifdef __undef___opencl_c_generic_address_space
#error "Feature __opencl_c_generic_address_space can only be disabled via -cl-ext flag"
#endif

Interesting idea, but I'm a bit hesitant of doing so:
It increases the size of opencl-c-base.h so it will take longer to parse, which will affect every OpenCL compilation. Luckily we can avoid that cost if we keep the __undef_ mechanism an internal solution, which it will be once we let -cl-ext=-feature generate __undef_ macros for extensions that are not in OpenCLExtensions.def. So longer term users will never have to pass __undef_ macros.

Jan 15 2023, 12:21 PM · Restricted Project, Restricted Project

Jan 11 2023

Anastasia added inline comments to D141449: clang/OpenCL: Fix not setting convergent on block invoke kernels.
Jan 11 2023, 4:42 AM · Restricted Project
Anastasia accepted D141297: [OpenCL] Allow undefining header-only features.

Btw I wonder if in the future we could add some error or warning in case someone uses the same approach for frontend specific features, i.e.

Jan 11 2023, 4:36 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..
Jan 11 2023, 4:27 AM · Restricted Project, Restricted Project, Restricted Project

Jan 6 2023

Anastasia requested changes to D141019: Support/CommandLine: replace argument mapping error with a warning.

This doesn't look like a solution. Can you please explain what problem are you trying to solve:

  1. Linking multiple LLVM libraries together.
  2. Linking multiple LLVM libraries with different LLVM versions?

Any log of error would be helpful too.

Jan 6 2023, 7:19 AM · Restricted Project, Restricted Project
Anastasia added a comment to D141008: [Clang][SPIR-V] Emit target extension types for OpenCL types on SPIR-V..

Can you link relevant LLVM reviews or documentation and perhaps add some more details into the description?

Jan 6 2023, 7:10 AM · Restricted Project, Restricted Project, Restricted Project

Dec 2 2022

Anastasia added a comment to D137652: Remove mandatory define of optional features macros for OpenCL C 3.0.

@svenvh I remember that we have also discussed the addition of a vendor specific header where such feature/extension macro definition can be added to avoid the macro pollution but I feel this is somewhat orthogonal i.e. the fine grained control of macro defines is still needed?

Unfortunately I don't remember the details of that discussion, but I agree that it's worth looking into a solution for issue #55674, using e.g. __undef macros as you described above.

Dec 2 2022, 2:53 PM · Restricted Project, Restricted Project

Nov 29 2022

Anastasia added a comment to D137652: Remove mandatory define of optional features macros for OpenCL C 3.0.

@Anastasia I feel like I am following the guidance you quoted here. The defines I've deleted in opencl-c-base.h are blocking the possibility of -cl-ext working and would also get in the way of undefine preprocessor symbols working.
If there is a problem with the additions to OpenCLExtensions.def then we'll need to rework how InitializeOpenCLFeatureTestMacros in initPreprocessor.cpp works.

Nov 29 2022, 8:46 AM · Restricted Project, Restricted Project
Anastasia added a reviewer for D137652: Remove mandatory define of optional features macros for OpenCL C 3.0: svenvh.
Nov 29 2022, 7:16 AM · Restricted Project, Restricted Project
Anastasia added a comment to D137652: Remove mandatory define of optional features macros for OpenCL C 3.0.

Are these features affecting the frontend functionality in any way? If not we should implement those in the headers and if headers are not flexible enough to condition out the addition of the new macros we should extend them (potentially by extending behaviour of -cl-ext or introducing undef macros, see https://github.com/llvm/llvm-project/issues/55674). Please review the guidelines here: https://clang.llvm.org/docs/OpenCLSupport.html#opencl-extensions-and-features. The most relevant part here is:

Nov 29 2022, 7:15 AM · Restricted Project, Restricted Project

Nov 11 2022

Anastasia added a comment to D134445: [PR57881][OpenCL] Fix incorrect diagnostics with templated types in kernel arguments.

You really can't ask whether a class template pattern is standard layout; it's not meaningful.

Well the templates have to be instantiated with concrete types as kernels can't be called from the host code. But if the concrete type is a reference or pointer there is no full instantiation apparently as AST dumps in the review description show.

My objection here is to the code that does CXXRec = CXXRec->getTemplateInstantiationPattern(). That is the unsubstituted template pattern. You then ask if it has standard layout. I do not think this is the right thing to do.

Nov 11 2022, 3:05 AM · Restricted Project, Restricted Project

Nov 10 2022

Anastasia added a comment to D134445: [PR57881][OpenCL] Fix incorrect diagnostics with templated types in kernel arguments.

You really can't ask whether a class template pattern is standard layout; it's not meaningful.

Nov 10 2022, 2:01 PM · Restricted Project, Restricted Project
Anastasia updated Anastasia.
Nov 10 2022, 12:23 PM
Anastasia committed rG380a038d1474: Updated contact email address. (authored by Anastasia).
Updated contact email address.
Nov 10 2022, 11:52 AM · Restricted Project, Restricted Project
Anastasia committed rG790cbaafc9e2: [OpenCL] Fix diagnostics with templates in kernel args. (authored by Anastasia).
[OpenCL] Fix diagnostics with templates in kernel args.
Nov 10 2022, 10:57 AM · Restricted Project, Restricted Project
Anastasia closed D134445: [PR57881][OpenCL] Fix incorrect diagnostics with templated types in kernel arguments.
Nov 10 2022, 10:56 AM · Restricted Project, Restricted Project

Oct 25 2022

Anastasia updated the diff for D134445: [PR57881][OpenCL] Fix incorrect diagnostics with templated types in kernel arguments.

Addressed review comments

Oct 25 2022, 6:15 AM · Restricted Project, Restricted Project

Sep 22 2022

Anastasia committed rGdb664a666c2c: [Doc][OpenCL] Fixed typos in code examples (authored by Anastasia).
[Doc][OpenCL] Fixed typos in code examples
Sep 22 2022, 9:47 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D134445: [PR57881][OpenCL] Fix incorrect diagnostics with templated types in kernel arguments.
Sep 22 2022, 8:57 AM · Restricted Project, Restricted Project
Anastasia updated the summary of D134445: [PR57881][OpenCL] Fix incorrect diagnostics with templated types in kernel arguments.
Sep 22 2022, 8:55 AM · Restricted Project, Restricted Project
Anastasia updated the summary of D134445: [PR57881][OpenCL] Fix incorrect diagnostics with templated types in kernel arguments.
Sep 22 2022, 8:47 AM · Restricted Project, Restricted Project
Anastasia requested review of D134445: [PR57881][OpenCL] Fix incorrect diagnostics with templated types in kernel arguments.
Sep 22 2022, 8:47 AM · Restricted Project, Restricted Project

Sep 2 2022

Anastasia updated the summary of D133208: [mlir][tosa] Fix dinamic shape inference in conv2d.
Sep 2 2022, 7:56 AM · Restricted Project, Restricted Project
Anastasia requested review of D133208: [mlir][tosa] Fix dinamic shape inference in conv2d.
Sep 2 2022, 7:53 AM · Restricted Project, Restricted Project
Anastasia accepted D132056: [HLSL] Restrict to supported targets.

This makes sense. I believe the same applies to some other languages i.e. OpenCL, as the way clang evolved currently not all targets are compatible with all languages. In the future we might want to generalize this diagnostics to use in other cases too.

Sep 2 2022, 3:57 AM · Restricted Project, Restricted Project

Sep 1 2022

Anastasia committed rG6b1a04529c8f: [OpenCL][SPIR-V] Test extern functions with a pointer arg. (authored by Anastasia).
[OpenCL][SPIR-V] Test extern functions with a pointer arg.
Sep 1 2022, 2:23 AM · Restricted Project, Restricted Project
Anastasia closed D130768: [OpenCL][SPIR-V] Add test for extern functions with a pointer.
Sep 1 2022, 2:23 AM · Restricted Project, Restricted Project
Anastasia closed D132473: [Docs][OpenCL][SPIR-V] Release 15 notes for Clang.

Committed in https://github.com/llvm/llvm-project/commit/5e1b36ced538cfc80f2400b27e346d2175b04092.

Sep 1 2022, 2:09 AM · Restricted Project

Aug 31 2022

Herald added a project to D116266: [SPIR-V] Add linking of separate translation units using spirv-link: Restricted Project.
Aug 31 2022, 2:40 PM · Restricted Project, Restricted Project

Aug 24 2022

Anastasia added inline comments to D132473: [Docs][OpenCL][SPIR-V] Release 15 notes for Clang.
Aug 24 2022, 3:37 AM · Restricted Project
Anastasia updated the diff for D132473: [Docs][OpenCL][SPIR-V] Release 15 notes for Clang.
  • Added clarification about the opaque pointers in SPIR-V.
Aug 24 2022, 3:35 AM · Restricted Project

Aug 23 2022

Anastasia updated the diff for D132473: [Docs][OpenCL][SPIR-V] Release 15 notes for Clang.

Minor formatting changes

Aug 23 2022, 7:27 AM · Restricted Project
Anastasia added a reviewer for D132473: [Docs][OpenCL][SPIR-V] Release 15 notes for Clang: tstellar.
Aug 23 2022, 7:10 AM · Restricted Project
Anastasia added a comment to D132473: [Docs][OpenCL][SPIR-V] Release 15 notes for Clang.

@svenvh as you made quite a lot of changes in the headers feel free to expand the description if you feel we should document some of those in more detail.

Aug 23 2022, 7:09 AM · Restricted Project
Anastasia requested review of D132473: [Docs][OpenCL][SPIR-V] Release 15 notes for Clang.
Aug 23 2022, 7:08 AM · Restricted Project

Aug 3 2022

Anastasia added inline comments to D130951: [HLSL] CodeGen hlsl resource binding..
Aug 3 2022, 5:19 AM · Restricted Project, Restricted Project, Restricted Project

Jul 29 2022

Anastasia requested review of D130768: [OpenCL][SPIR-V] Add test for extern functions with a pointer.
Jul 29 2022, 5:58 AM · Restricted Project, Restricted Project
Anastasia updated subscribers of D130766: [SPIR-V] Disable opaque pointers in relese 15.

CC to @linjamaki in case there is anything else/different needed for HIP.

Jul 29 2022, 5:51 AM · Restricted Project
Anastasia added a reviewer for D130766: [SPIR-V] Disable opaque pointers in relese 15: nikic.
Jul 29 2022, 5:49 AM · Restricted Project
Anastasia requested review of D130766: [SPIR-V] Disable opaque pointers in relese 15.
Jul 29 2022, 5:49 AM · Restricted Project
Anastasia added inline comments to D130131: [HLSL] CodeGen hlsl cbuffer/tbuffer..
Jul 29 2022, 4:20 AM · Restricted Project, Restricted Project

Jul 27 2022

Anastasia added inline comments to D130131: [HLSL] CodeGen hlsl cbuffer/tbuffer..
Jul 27 2022, 9:04 AM · Restricted Project, Restricted Project

Jun 24 2022

Anastasia accepted D128436: [OpenCL] Remove fast_ half geometric builtins.

LGTM! Thanks

Jun 24 2022, 11:15 AM · Restricted Project, Restricted Project
Anastasia accepted D128434: [OpenCL] Remove half scalar vload/vstore builtins.

LGTM! Thanks

Jun 24 2022, 11:13 AM · Restricted Project, Restricted Project
Anastasia added a comment to D127579: [clang][WIP] add option to keep types of ptr args for non-kernel functions in metadata.

@Anastasia Thanks, that does sound like a legitimate reason to include the information. I want to double check though, does linking the modules actually fail if the functions have signatures that differ only by pointer types? At least for normal LLVM IR this would work fine, and would just result in the insertion of a bitcast during linking (and then typically the bitcast would get shifted from the called function to the call arguments later).

@nikic If I use spirv-link with two modules that have mismatching pointee type in a function parameter I get an error:

error: 0: Type mismatch on symbol "foo" between imported variable/function %6 and exported variable/function %17.

The way I understand a bitcast instruction in SPIR-V (OpBitcast in https://www.khronos.org/registry/SPIR-V/specs/unified1/SPIRV.html#_conversion_instructions) is that it can only apply to pointer types which are distinct from function types. Note that I believe that function pointers are illegal, at least we disallow them in OpenCL.

Okay ... can we maybe turn this around then? Always emit function parameters as i8* and bitcast them as needed, even if it is possible to guess a better type based on the definition? (Let's ignore the image type case here, which seems to have different requirements from the rest.)

So where would bitcasts be emitted to reconstruct the function prototypes correctly?

The bitcasts would be in the definition only, when the pointer arguments actually get used in a typed manner. The prototype would always include i8* arguments only.

Jun 24 2022, 11:10 AM · Restricted Project, Restricted Project

Jun 21 2022

Anastasia accepted D127961: [OpenCL] Reduce emitting candidate notes for builtins.

LGTM! Thanks

Jun 21 2022, 2:17 AM · Restricted Project, Restricted Project
Anastasia added a comment to D128012: [HLSL] Add ExternalSemaSource & vector alias.

aha, are you having a lot of these types then? Ok that sounds similar problem to OpenCL builtin functions as we had to go away from a simple header include due to long parsing time.

Very similar problem. We have a two-part problem where we both have enough of them that parsing a header would be too slow _and_ the HLSL language actually can't represent them. The later we're working to fix. My hope is that eventually we can write the HLSL libraries in HLSL and use a pre-compilation step (PCH or Module-style) to get past the performance issues.

Jun 21 2022, 2:15 AM · Restricted Project, Restricted Project
Anastasia added a comment to D127579: [clang][WIP] add option to keep types of ptr args for non-kernel functions in metadata.

@Anastasia Thanks, that does sound like a legitimate reason to include the information. I want to double check though, does linking the modules actually fail if the functions have signatures that differ only by pointer types? At least for normal LLVM IR this would work fine, and would just result in the insertion of a bitcast during linking (and then typically the bitcast would get shifted from the called function to the call arguments later).

@nikic If I use spirv-link with two modules that have mismatching pointee type in a function parameter I get an error:

error: 0: Type mismatch on symbol "foo" between imported variable/function %6 and exported variable/function %17.

The way I understand a bitcast instruction in SPIR-V (OpBitcast in https://www.khronos.org/registry/SPIR-V/specs/unified1/SPIRV.html#_conversion_instructions) is that it can only apply to pointer types which are distinct from function types. Note that I believe that function pointers are illegal, at least we disallow them in OpenCL.

Okay ... can we maybe turn this around then? Always emit function parameters as i8* and bitcast them as needed, even if it is possible to guess a better type based on the definition? (Let's ignore the image type case here, which seems to have different requirements from the rest.)

Jun 21 2022, 2:13 AM · Restricted Project, Restricted Project

Jun 17 2022

Anastasia added a comment to D127579: [clang][WIP] add option to keep types of ptr args for non-kernel functions in metadata.

Btw do we have any issue tracking this failure, I am having a feeling that the translation of special types might be related to https://github.com/llvm/llvm-project/issues/55121? I am not aware at which point libclc is expected to be linked for SPIR-V but if linking happens at SPIR-V binary level it is likely going to face the other problem I described here.

Jun 17 2022, 7:58 AM · Restricted Project, Restricted Project
Anastasia added a comment to D128012: [HLSL] Add ExternalSemaSource & vector alias.

For just the type alias, adding it during parsing would probably work. Where things get more complicated is we have a whole mess of other data types that we’ll need to add too eventually. One of the advantages of using an external sema source is that we can create incomplete records during initialization, and complete them when the sema source gets the callback from lookup. That gives us cheap and efficient lazy-initialization of our buffer types which (in DXC) has a huge impact on compile time.

Jun 17 2022, 7:45 AM · Restricted Project, Restricted Project
Anastasia added a comment to D128012: [HLSL] Add ExternalSemaSource & vector alias.

I wonder if accepting type alias with identifier vector while parsing would be simpler to implement? Then you could just add those type aliases into the internal header. I assume user code is not allowed to redefine those i.e. it would result in undefined behavior or something like for most of C++ standard library features...

Jun 17 2022, 4:04 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D127961: [OpenCL] Reduce emitting candidate notes for builtins.
Jun 17 2022, 3:32 AM · Restricted Project, Restricted Project
Anastasia added a comment to D127579: [clang][WIP] add option to keep types of ptr args for non-kernel functions in metadata.

Clang is only permitted to encode pointer type information if that pointer type has some kind of direct semantic meaning -- say, if the pointer element type affects the call ABI in some way. If it does not have direct semantic meaning, then deriving the pointer type based on usage (as DXIL does) and using that for emission would be right approach.

Jun 17 2022, 1:32 AM · Restricted Project, Restricted Project
Anastasia added a comment to D127579: [clang][WIP] add option to keep types of ptr args for non-kernel functions in metadata.

If I'm understanding correctly, previously the LLVM pointee type was used to represent a frontend OpenCL type. An alternative to marking everything with elementtype or adding metadata, can something be done in the frontend to mangle the function name with OpenCL pointee types, then the backend translates that to the proper SPIRV types?

Jun 17 2022, 1:29 AM · Restricted Project, Restricted Project

Jun 16 2022

Anastasia added a comment to D127579: [clang][WIP] add option to keep types of ptr args for non-kernel functions in metadata.

The way I understand a bitcast instruction in SPIR-V (OpBitcast in https://www.khronos.org/registry/SPIR-V/specs/unified1/SPIRV.html#_conversion_instructions) is that it can only apply to pointer types which are distinct from function types. Note that I believe that function pointers are illegal, at least we disallow them in OpenCL.

FYI: we are experimenting with function pointers on Intel HW programmed via SPIR-V. Extension draft - https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_function_pointers.asciidoc.

Jun 16 2022, 5:50 AM · Restricted Project, Restricted Project
Anastasia added a comment to D127579: [clang][WIP] add option to keep types of ptr args for non-kernel functions in metadata.

@Anastasia Thanks, that does sound like a legitimate reason to include the information. I want to double check though, does linking the modules actually fail if the functions have signatures that differ only by pointer types? At least for normal LLVM IR this would work fine, and would just result in the insertion of a bitcast during linking (and then typically the bitcast would get shifted from the called function to the call arguments later).

Jun 16 2022, 5:25 AM · Restricted Project, Restricted Project

Jun 15 2022

Anastasia added a comment to D127579: [clang][WIP] add option to keep types of ptr args for non-kernel functions in metadata.

@nikic the most important thing you need to know about SPIR-V is that it is a virtual ISA based on LLVM IR. The ISA itself encodes types for pointers just like LLVM IR would.

Okay ... I guess my next question would be how the SPIR-V situation differs from the DXIL situation. For DXIL you have already implemented code to "guess" pointer types insofar as they are relevant -- does SPIR-V need something more than that?

Clang is only permitted to encode pointer type information if that pointer type has some kind of direct semantic meaning -- say, if the pointer element type affects the call ABI in some way. If it does not have direct semantic meaning, then deriving the pointer type based on usage (as DXIL does) and using that for emission would be right approach.

Jun 15 2022, 9:09 AM · Restricted Project, Restricted Project
Anastasia added a comment to D127579: [clang][WIP] add option to keep types of ptr args for non-kernel functions in metadata.

The patch seems very straight forward. I wonder though if we should always enable this for SPIR-V w/o adding any flag until the untyped pointers are added to SPIR-V so it will become a target setting controlled instead of a flag?

Jun 15 2022, 7:42 AM · Restricted Project, Restricted Project

Jun 2 2022

Anastasia accepted D126857: [HLSL] Add WaveActiveCountBits as Langugage builtin function for HLSL.

LGTM! Thanks

Jun 2 2022, 12:56 PM · Restricted Project, Restricted Project
Anastasia added inline comments to D126857: [HLSL] Add WaveActiveCountBits as Langugage builtin function for HLSL.
Jun 2 2022, 12:26 PM · Restricted Project, Restricted Project
Anastasia added inline comments to D126857: [HLSL] Add WaveActiveCountBits as Langugage builtin function for HLSL.
Jun 2 2022, 11:56 AM · Restricted Project, Restricted Project
Anastasia added a comment to D126857: [HLSL] Add WaveActiveCountBits as Langugage builtin function for HLSL.

ok, so the reason you are adding this to clang is that it needs to be mapped into a target intrinsic?

Jun 2 2022, 11:47 AM · Restricted Project, Restricted Project
Anastasia added a comment to D124753: [HLSL] Set main as default entry..

From the current change it seems to me that what you need to be testing is a just that the frontend options are being passed correctly? This should then be a driver test with -### checking for the options to be set for the frontend invocation...

There's already a driver test with '-###' in https://reviews.llvm.org/D124751#change-af6Z62NjlfGb

This test doesn't seem to correspond to the change being added as you are changing the command-line flags. You don't actually add/generate any attributes in this patch.

Sorry to make things confusing. I should not split default value for -E option as a separate PR :(

There's dxc_E.hlsl (https://reviews.llvm.org/D124751#change-af6Z62NjlfGb) in https://reviews.llvm.org/D124751 where the -E option is added.
dxc_E.hlsl will test -E option translated into -hlsl-entry for cc1.

There was a test for codeGen of -E option in https://reviews.llvm.org/D124752, but I removed it because it is to almost the same as https://reviews.llvm.org/D124752#change-w4NWvaT68Dhk which test codeGen for ShaderAttr.

And the entry_default.hlsl in current PR test codeGen for the default main and -E option.

I can add a separate codeGen test for -E option if that's what you thought is missing.

Jun 2 2022, 11:45 AM · Restricted Project, Restricted Project

Jun 1 2022

Anastasia accepted D126660: [OpenCL] Reword unknown extension pragma diagnostic.

Ok, makes sense! Thanks!

Jun 1 2022, 8:32 AM · Restricted Project, Restricted Project
Anastasia accepted D124752: [HLSL] clang codeGen for HLSLShaderAttr..

LGTM! Thanks

Jun 1 2022, 8:25 AM · Restricted Project, Restricted Project
Anastasia added a comment to D124753: [HLSL] Set main as default entry..

From the current change it seems to me that what you need to be testing is a just that the frontend options are being passed correctly? This should then be a driver test with -### checking for the options to be set for the frontend invocation...

There's already a driver test with '-###' in https://reviews.llvm.org/D124751#change-af6Z62NjlfGb

Jun 1 2022, 8:23 AM · Restricted Project, Restricted Project

May 30 2022

Anastasia accepted D125052: [HLSL] Enable vector types for hlsl..

Please make sure to reflect in your commit message that you are adding the clang internal headers too.

May 30 2022, 7:50 AM · Restricted Project, Restricted Project
Anastasia added a comment to D124753: [HLSL] Set main as default entry..

From the current change it seems to me that what you need to be testing is a just that the frontend options are being passed correctly? This should then be a driver test with -### checking for the options to be set for the frontend invocation...

May 30 2022, 7:46 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D124752: [HLSL] clang codeGen for HLSLShaderAttr..
May 30 2022, 7:39 AM · Restricted Project, Restricted Project

May 27 2022

Anastasia committed rG7df25978ef78: [Doc][OpenCL] Misc wording improvements for SPIR-V (authored by Anastasia).
[Doc][OpenCL] Misc wording improvements for SPIR-V
May 27 2022, 3:14 AM · Restricted Project, Restricted Project, Restricted Project

May 26 2022

Anastasia added inline comments to D124752: [HLSL] clang codeGen for HLSLShaderAttr..
May 26 2022, 11:12 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D124752: [HLSL] clang codeGen for HLSLShaderAttr..
May 26 2022, 11:09 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D124753: [HLSL] Set main as default entry..
May 26 2022, 10:48 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D125052: [HLSL] Enable vector types for hlsl..
May 26 2022, 10:45 AM · Restricted Project, Restricted Project
Anastasia committed rG3087afb421bf: [OpenCL][Doc] Misc improvements related to SPIR-V support. (authored by Anastasia).
[OpenCL][Doc] Misc improvements related to SPIR-V support.
May 26 2022, 7:55 AM · Restricted Project, Restricted Project

May 25 2022

Anastasia committed rG730dc4e9bce8: [Clang] Added options for integrated backend. (authored by Anastasia).
[Clang] Added options for integrated backend.
May 25 2022, 4:13 AM · Restricted Project, Restricted Project
Anastasia closed D125679: [Clang] Added options for integrated backend only used for SPIR-V for now.
May 25 2022, 4:13 AM · Restricted Project, Restricted Project

May 24 2022

Anastasia added inline comments to D125052: [HLSL] Enable vector types for hlsl..
May 24 2022, 7:22 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D124753: [HLSL] Set main as default entry..
May 24 2022, 5:54 AM · Restricted Project, Restricted Project
Anastasia added inline comments to D124752: [HLSL] clang codeGen for HLSLShaderAttr..
May 24 2022, 5:51 AM · Restricted Project, Restricted Project