[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-03-13 Thread Ayal Zaks via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGeae70ccbf975: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0 (authored by Ayal). Repository: rG LLVM Github Monorepo

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-03-12 Thread Anastasia Stulova via Phabricator via cfe-commits
Anastasia accepted this revision. Anastasia added a comment. This revision is now accepted and ready to land. LGTM! Thanks CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143849/new/ https://reviews.llvm.org/D143849 ___ cfe-commits mailing

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-03-06 Thread Ayal Zaks via Phabricator via cfe-commits
Ayal added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:9494 + // of SVM. + if (S.getLangOpts().getOpenCLCompatibleVersion() > 120 && + (ParamType == PtrKernelParam || ParamType == PtrPtrKernelParam)) Anastasia wrote: > Ayal wrote:

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-03-06 Thread Ayal Zaks via Phabricator via cfe-commits
Ayal updated this revision to Diff 502855. Ayal added a comment. It's hard for getOpenCLKernelParameterType() to detect and diagnose invalid pointer cases w/o context (of an enclosing struct or not), but it's easy to detect valid pointer cases for v2.0+ and return ValidKernelParam. Rebased.

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-19 Thread Anastasia Stulova via Phabricator via cfe-commits
Anastasia added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:9494 + // of SVM. + if (S.getLangOpts().getOpenCLCompatibleVersion() > 120 && + (ParamType == PtrKernelParam || ParamType == PtrPtrKernelParam)) Ayal wrote: > Anastasia

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-15 Thread Ayal Zaks via Phabricator via cfe-commits
Ayal added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:9494 + // of SVM. + if (S.getLangOpts().getOpenCLCompatibleVersion() > 120 && + (ParamType == PtrKernelParam || ParamType == PtrPtrKernelParam)) Anastasia wrote: > Anastasia

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-15 Thread Anastasia Stulova via Phabricator via cfe-commits
Anastasia added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:9494 + // of SVM. + if (S.getLangOpts().getOpenCLCompatibleVersion() > 120 && + (ParamType == PtrKernelParam || ParamType == PtrPtrKernelParam)) Anastasia wrote: > Ayal

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-14 Thread Ayal Zaks via Phabricator via cfe-commits
Ayal added inline comments. Comment at: clang/test/SemaOpenCL/invalid-kernel-parameters.cl:90 +#if __OPENCL_C_VERSION__ <= CL_VERSION_1_2 typedef struct FooImage2D // expected-note{{within field of type 'FooImage2D' declared here}} yaxunl wrote: > Ayal

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-14 Thread Ayal Zaks via Phabricator via cfe-commits
Ayal updated this revision to Diff 497317. Ayal added a comment. Use `-verify=expected,ocl12` instead of #ifdef'ing the test to check diagnostics emitted for 1.2 but not emitted for 2.0. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143849/new/ https://reviews.llvm.org/D143849 Files:

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-13 Thread Yaxun Liu via Phabricator via cfe-commits
yaxunl added inline comments. Comment at: clang/test/SemaOpenCL/invalid-kernel-parameters.cl:90 +#if __OPENCL_C_VERSION__ <= CL_VERSION_1_2 typedef struct FooImage2D // expected-note{{within field of type 'FooImage2D' declared here}} Ayal wrote: > yaxunl

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-13 Thread Ayal Zaks via Phabricator via cfe-commits
Ayal added inline comments. Comment at: clang/test/SemaOpenCL/invalid-kernel-parameters.cl:90 +#if __OPENCL_C_VERSION__ <= CL_VERSION_1_2 typedef struct FooImage2D // expected-note{{within field of type 'FooImage2D' declared here}} yaxunl wrote: > we should

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-13 Thread Ayal Zaks via Phabricator via cfe-commits
Ayal updated this revision to Diff 497128. Ayal added a comment. Updated version merges the `if`'s and checks tests for both 1.2 and 2.0. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D143849/new/ https://reviews.llvm.org/D143849 Files: clang/lib/Sema/SemaDecl.cpp

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-13 Thread Yaxun Liu via Phabricator via cfe-commits
yaxunl added inline comments. Comment at: clang/test/SemaOpenCL/invalid-kernel-parameters.cl:90 +#if __OPENCL_C_VERSION__ <= CL_VERSION_1_2 typedef struct FooImage2D // expected-note{{within field of type 'FooImage2D' declared here}} we should not limit the

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-13 Thread Anastasia Stulova via Phabricator via cfe-commits
Anastasia added inline comments. Comment at: clang/lib/Sema/SemaDecl.cpp:9494 + // of SVM. + if (S.getLangOpts().getOpenCLCompatibleVersion() > 120 && + (ParamType == PtrKernelParam || ParamType == PtrPtrKernelParam)) Ayal wrote: > Anastasia

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-12 Thread Ayal Zaks via Phabricator via cfe-commits
Ayal added a comment. In D143849#4121348 , @Anastasia wrote: > 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

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-12 Thread Anastasia Stulova via Phabricator via cfe-commits
Anastasia added a comment. 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

[PATCH] D143849: [Clang][OpenCL] Allow pointers in structs as kernel arguments from 2.0

2023-02-12 Thread Ayal Zaks via Phabricator via cfe-commits
Ayal created this revision. Ayal added reviewers: asavonic, Anastasia, yaxunl. Herald added subscribers: Naghasan, ldrumm. Herald added a project: All. Ayal requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits. Structs that contain global or