Skip to content
Open
Show file tree
Hide file tree
Changes from 58 commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
34a11ca
Provide supports for decomposable structs
lbushi25 May 28, 2025
edec2b4
Merge branch 'sycl' of https://github.com/lbushi25/llvm into sycl
lbushi25 May 28, 2025
c87f239
Remove debugging statements and apply clang-format
lbushi25 May 28, 2025
6255cf2
Remove debugging statements and apply clang-format
lbushi25 May 28, 2025
4de6a52
Remove debugging statements and apply clang-format
lbushi25 May 28, 2025
5800d46
Remove TODO statements from code
lbushi25 May 28, 2025
d1d43f1
Wrapped speaicl types support
lbushi25 Jun 3, 2025
960ff52
Merge branch 'struct_contains_special_types' of https://github.com/lb…
lbushi25 Jun 26, 2025
290288c
Test
lbushi25 Jul 11, 2025
9e90792
Merge branch 'sycl' into struct_contains_special_types
lbushi25 Jul 11, 2025
5a2faea
Fix offsets in integration header
lbushi25 Jul 16, 2025
dcac442
Fix offsets in integration header
lbushi25 Jul 16, 2025
257c9c3
Merge branch 'intel:sycl' into struct_contains_special_types
lbushi25 Jul 17, 2025
dff980b
Refine changes
lbushi25 Jul 17, 2025
6b46afd
Merge branch 'struct_contains_special_types' of https://github.com/lb…
lbushi25 Jul 17, 2025
b3e935f
Formatting an comments
lbushi25 Jul 17, 2025
4659ec2
Formatting
lbushi25 Jul 17, 2025
18c185a
More formatting
lbushi25 Jul 17, 2025
9a32eac
More formatting
lbushi25 Jul 17, 2025
60764b6
More formatting
lbushi25 Jul 17, 2025
4056a8a
Remove rogue changes
lbushi25 Jul 17, 2025
f2e21a3
More formatting
lbushi25 Jul 17, 2025
f0e9e1d
Use offsets to access struct member in runtime
lbushi25 Jul 18, 2025
453ca5e
Update SemaSYCL.cpp
lbushi25 Jul 18, 2025
923c949
Apply feedback
lbushi25 Jul 18, 2025
066c41c
Resolve conflict
lbushi25 Jul 18, 2025
a72ff0a
Fix unused parameter errors
lbushi25 Jul 18, 2025
71c8c10
Apply feedback
lbushi25 Jul 18, 2025
77900d8
Finish implementation
lbushi25 Jul 18, 2025
5121d57
Merge branch 'struct_contains_special_types' of https://github.com/lb…
lbushi25 Jul 18, 2025
03bb317
Formatting
lbushi25 Jul 18, 2025
0b0cc86
Improve implementation
lbushi25 Jul 18, 2025
96f6da3
Merge branch 'struct_contains_special_types' of https://github.com/lb…
lbushi25 Jul 18, 2025
ca2310d
Apply more suggestions
lbushi25 Jul 21, 2025
b993149
Improve implementation
lbushi25 Jul 22, 2025
7191b2d
Merge branch 'sycl' into struct_contains_special_types
lbushi25 Jul 23, 2025
1eb1c44
Improve comments
lbushi25 Jul 23, 2025
df84247
Merge branch 'struct_contains_special_types' of https://github.com/lb…
lbushi25 Jul 23, 2025
08c2808
Fix formatting
lbushi25 Jul 23, 2025
b990420
Improve comments further
lbushi25 Jul 23, 2025
eb0925f
Add tests
lbushi25 Jul 31, 2025
6932522
Add tests
lbushi25 Jul 31, 2025
4852cb7
Merge branch 'sycl' into struct_contains_special_types
lbushi25 Jul 31, 2025
2248476
Fix warnings
lbushi25 Jul 31, 2025
f475e4d
Fix more warnings
lbushi25 Jul 31, 2025
f95f7fd
Fix pre-commit failures in test
lbushi25 Jul 31, 2025
891905a
Merge branch 'sycl' into struct_contains_special_types
lbushi25 Aug 5, 2025
3d4259f
Merge branch 'struct_contains_special_types' of https://github.com/lb…
lbushi25 Aug 6, 2025
c7b3696
Address compilation errors
lbushi25 Aug 6, 2025
0a017c1
Update ABI
lbushi25 Aug 6, 2025
de4b02f
Fix pre-commit failures
lbushi25 Aug 6, 2025
b093093
Update free_function_traits.hpp
lbushi25 Aug 7, 2025
1280da0
Update handler.hpp
lbushi25 Aug 7, 2025
cbdf97d
Update handler_impl.hpp
lbushi25 Aug 7, 2025
d2efe98
Formatting
lbushi25 Aug 7, 2025
4fdec2c
Apply initial suggestions
lbushi25 Aug 8, 2025
7f0bf3d
Merge branch 'struct_contains_special_types' of https://github.com/lb…
lbushi25 Aug 8, 2025
f029707
Simplify integration header
lbushi25 Sep 25, 2025
3557c1f
Fix set_arg function
lbushi25 Sep 30, 2025
1dbac89
More refactoring
lbushi25 Sep 30, 2025
bb45df4
Add comments
lbushi25 Sep 30, 2025
a81350c
Add comments
lbushi25 Sep 30, 2025
417533d
[SYCL][ESIMD][E2E] Reenable previously failing tests (#20256)
sarnex Oct 1, 2025
c4be04e
Handle set_arg for accessors
lbushi25 Oct 1, 2025
3946878
Merge branch 'sycl' into struct_contains_special_types
lbushi25 Oct 1, 2025
644b0e9
Formatting
lbushi25 Oct 1, 2025
22eec27
Improve commenting
lbushi25 Oct 1, 2025
def3641
Improve commenting
lbushi25 Oct 1, 2025
fcde60e
Fix merge conflicts
lbushi25 Oct 1, 2025
d7023fe
Merge branch 'intel:sycl' into struct_contains_special_types
lbushi25 Oct 1, 2025
e863838
Remove dead code
lbushi25 Oct 1, 2025
4a41f85
Merge branch 'struct_contains_special_types' of https://github.com/lb…
lbushi25 Oct 1, 2025
a248351
More formatting and some bug fixing
lbushi25 Oct 2, 2025
9323fcc
More formatting
lbushi25 Oct 2, 2025
0d29f6d
Update SemaSYCL.h
lbushi25 Oct 2, 2025
9a50c64
Fix uninitialized pointer
lbushi25 Oct 2, 2025
3cb3c43
Merge branch 'struct_contains_special_types' of https://github.com/lb…
lbushi25 Oct 2, 2025
1f05d39
Address pre-commit failures
lbushi25 Oct 3, 2025
35f87a7
Fix pre-commit failures
lbushi25 Oct 3, 2025
2f80b12
Revert some ABI breaking changes
lbushi25 Oct 6, 2025
50b264d
Add specialization of is_device_copyable in integration header
lbushi25 Oct 6, 2025
5861175
Modify tests to check for the device_copyable trait
lbushi25 Oct 6, 2025
4396bf9
Fix pre-commit failures
lbushi25 Oct 7, 2025
43076a2
Fix more pre-commit failures
lbushi25 Oct 7, 2025
f72f953
Update is_device_copyable.hpp
lbushi25 Oct 7, 2025
46ab7f2
Fix more pre-commit failures
lbushi25 Oct 7, 2025
f6f46d6
Fix merge conflict
lbushi25 Oct 7, 2025
cb43003
Delete clang/test/SemaSYCL/Inputs/sycl/detail/is_device_copyable.hpp
lbushi25 Oct 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion clang/include/clang/Sema/SemaSYCL.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ class SYCLIntegrationHeader {
kind_work_group_memory,
kind_dynamic_work_group_memory,
kind_dynamic_accessor,
kind_last = kind_dynamic_accessor
kind_struct_with_special_type,
kind_last = kind_struct_with_special_type
};

public:
Expand Down Expand Up @@ -267,6 +268,10 @@ class SemaSYCL : public SemaBase {

llvm::DenseSet<const FunctionDecl *> FreeFunctionDeclarations;

// A map that keeps track of all structs encountered with
// special types inside. Relevant for free function kernels only.
llvm::DenseSet<const RecordDecl *> StructsWithSpecialTypes;

public:
SemaSYCL(Sema &S);

Expand Down Expand Up @@ -317,6 +322,13 @@ class SemaSYCL : public SemaBase {
SYCLKernelFunctions.insert(FD);
}

/// Add ParentStruct to StructsWithSpecialTypes.
void addStructWithSpecialType(const RecordDecl *ParentStruct) {
StructsWithSpecialTypes.insert(ParentStruct);
}

auto &getStructsWithSpecialType() const { return StructsWithSpecialTypes; }

/// Lazily creates and returns SYCL integration header instance.
SYCLIntegrationHeader &getSyclIntegrationHeader() {
if (SyclIntHeader == nullptr)
Expand Down
Loading