You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Merging cases do not work with reqd_work_group_size attribute
[[sycl::reqd_work_group_size(64, 64, 64)]] void f();/ expected-note {{conflicting attribute is here}} now OK
[[sycl::reqd_work_group_size(128, 128, 128,)]] void f(); // expected-warning{{attribute 'reqd_work_group_size' is already applied with different parameters}} now OK
The text was updated successfully, but these errors were encountered:
smanna12
changed the title
Merging cases do not work with reqd_work_group_size attribute
Merging cases with duplicate attribute values do not work with reqd_work_group_size attribute
Mar 4, 2022
This patch
1. refactors SYCL kernel function attribute reqd_work_group_size to better fit for community standards.
2. refactors the way we handled duplicate attributes logic with when present on a given declaration.
3. refactors the way we handled mutually exclusive attributes logic with when present on a given declaration with
reqd_work_group_size, max_work_group_size, max_global_work_dim, and num_simd_work_items attributes.
5. handles redeclarations or template instantiations properly.
6. stores ConstantExpr into the semantic attribute rather than calling getIntegerConstantExpr() for attribute dimension values.
7. fixes crash with optional arguments on ReqdWorkGroupAttr and adds missing diagnostics for merging cases when present
on a given declaration with reqd_work_group_size, max_work_group_size, max_global_work_dim, and num_simd_work_items
attributes.
8. updates clang-tidy build after reqd_work_group_size attribute changes.
9. adds tests.
This patch fixes#5736, #5735, #5734, #5732, #5731, #3223, #3361, #3175, #3742, and #5733
Signed-off-by: Soumi Manna <[email protected]>
Merging cases do not work with reqd_work_group_size attribute
[[sycl::reqd_work_group_size(64, 64, 64)]] void f();/ expected-note {{conflicting attribute is here}} now OK
[[sycl::reqd_work_group_size(128, 128, 128,)]] void f(); // expected-warning{{attribute 'reqd_work_group_size' is already applied with different parameters}} now OK
The text was updated successfully, but these errors were encountered: