Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
2d50750
remove dummy bin
jinge90 Nov 24, 2025
9c76946
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Nov 26, 2025
fe628a9
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Nov 27, 2025
7a7e62b
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Nov 28, 2025
4de8fa5
merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Dec 1, 2025
e52bb98
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Dec 4, 2025
4b63322
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Dec 10, 2025
544d912
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Dec 12, 2025
2ad6143
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Dec 17, 2025
cf391d9
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Dec 24, 2025
e0f2a15
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Jan 6, 2026
aa7a97c
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Jan 12, 2026
9244680
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Jan 30, 2026
b4b5793
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Feb 3, 2026
50f8f75
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Feb 4, 2026
ebc7166
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Feb 4, 2026
159748c
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Feb 4, 2026
17362e0
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Mar 3, 2026
9e38387
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Mar 5, 2026
dd1e30b
Merge remote-tracking branch 'origin/sycl' into sycl
jinge90 Mar 5, 2026
01fa557
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Mar 25, 2026
78adbd8
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Mar 26, 2026
c681812
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Apr 9, 2026
0726c0d
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Apr 10, 2026
f96405d
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Apr 14, 2026
d1f74f4
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Apr 21, 2026
eac7780
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Apr 24, 2026
ff388a2
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 May 7, 2026
fc841dd
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 May 8, 2026
615606d
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 May 14, 2026
5418d34
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 May 21, 2026
63315b5
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 May 22, 2026
8f6fca3
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 May 26, 2026
d0a55bf
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Jun 17, 2026
22a94f4
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Jun 29, 2026
d79ee94
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Jul 1, 2026
957fed0
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Jul 2, 2026
14d0666
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Jul 3, 2026
cb4940d
Merge remote-tracking branch 'upstream/sycl' into sycl
jinge90 Jul 13, 2026
ebfa1eb
[Clang] Add internal option to use 'generic' as default address space
jinge90 Jul 13, 2026
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
1 change: 1 addition & 0 deletions clang/include/clang/Basic/LangOptions.def
Original file line number Diff line number Diff line change
Expand Up @@ -261,6 +261,7 @@ LANGOPT(GPUDeferDiag, 1, 0, NotCompatible, "defer host/device related diagnostic
LANGOPT(GPUExcludeWrongSideOverloads, 1, 0, NotCompatible, "always exclude wrong side overloads in overloading resolution for CUDA/HIP")
LANGOPT(OffloadingNewDriver, 1, 0, NotCompatible, "use the new driver for generating offloading code.")
LANGOPT(OffloadViaLLVM, 1, 0, NotCompatible, "target LLVM/Offload as portable offloading runtime.")
LANGOPT(DefaultAddrSpaceIsGeneric, 1, 0, NotCompatible, "use generic address space as default address space for SPIR-V targets")

LANGOPT(SYCLIsDevice , 1, 0, NotCompatible, "Generate code for SYCL device")
LANGOPT(SYCLIsHost , 1, 0, NotCompatible, "SYCL host compilation")
Expand Down
4 changes: 4 additions & 0 deletions clang/include/clang/Options/Options.td
Original file line number Diff line number Diff line change
Expand Up @@ -9213,6 +9213,10 @@ def fdefault_calling_conv_EQ : Joined<["-"], "fdefault-calling-conv=">,
NormalizedValuesScope<"LangOptions">,
NormalizedValues<["DCC_CDecl", "DCC_FastCall", "DCC_StdCall", "DCC_VectorCall", "DCC_RegCall", "DCC_RtdCall"]>,
MarshallingInfoEnum<LangOpts<"DefaultCallingConv">, "DCC_None">;
def fdefault_addr_space_is_generic : Flag<["-"], "fdefault-addr-space-is-generic">,
HelpText<"Use generic address space as the default address space for SPIR-V targets">,
Visibility<[CC1Option]>,
MarshallingInfoFlag<LangOpts<"DefaultAddrSpaceIsGeneric">>;

// These options cannot be marshalled, because they are used to set up the LangOptions defaults.
def finclude_default_header : Flag<["-"], "finclude-default-header">,
Expand Down
3 changes: 2 additions & 1 deletion clang/lib/Basic/Targets/SPIR.h
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,8 @@ class LLVM_LIBRARY_VISIBILITY BaseSPIRTargetInfo : public TargetInfo {
// AS as generic.
(getTriple().isSPIRV() &&
(Opts.CUDAIsDevice ||
getTriple().getVendor() == llvm::Triple::Intel)));
getTriple().getVendor() == llvm::Triple::Intel)) ||
Opts.DefaultAddrSpaceIsGeneric);
}

void setSupportedOpenCLOpts() override {
Expand Down
17 changes: 17 additions & 0 deletions clang/test/CodeGen/default-as-generic-spirv64.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// RUN: %clang_cc1 -triple spirv64 -fdefault-addr-space-is-generic -emit-llvm -o - %s | FileCheck %s --check-prefix=GENERIC

// Test that -fdefault-addr-space-is-generic causes unqualified pointers to be
// in the generic address space (addrspace(4)) for spirv64 targets.

void test_memcpy(void *dst, const void *src, unsigned long n) {
__builtin_memcpy(dst, src, n);
}

// GENERIC: define spir_func void @test_memcpy(ptr addrspace(4) noundef %dst, ptr addrspace(4) noundef %src, i64 noundef %n)
// GENERIC: call void @llvm.memcpy.p4.p4.i64(ptr addrspace(4) align 1 %{{.*}}, ptr addrspace(4) align 1 %{{.*}}, i64 %{{.*}}, i1 false)

void test_pointer(int *p) {
*p = 42;
}

// GENERIC: define spir_func void @test_pointer(ptr addrspace(4) noundef %p)
Loading