Skip to content

Commit 4fe3a84

Browse files
committed
Merge remote-tracking branch 'origin/sycl' into llvmspirv_pulldown
Conflicts: llvm-spirv/lib/SPIRV/SPIRVReader.cpp
2 parents 45e56b5 + 7bdb758 commit 4fe3a84

File tree

176 files changed

+11463
-2093
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

176 files changed

+11463
-2093
lines changed

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,9 +193,12 @@ llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h @intel/dpcpp-san
193193
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h @intel/dpcpp-sanitizers-review
194194
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerOptions.h @intel/dpcpp-sanitizers-review
195195
llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h @intel/dpcpp-sanitizers-review
196+
llvm/include/llvm/Transforms/Instrumentation/ThreadSanitizer.h @intel/dpcpp-sanitizers-review
196197
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp @intel/dpcpp-sanitizers-review
197198
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp @intel/dpcpp-sanitizers-review
199+
llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp @intel/dpcpp-sanitizers-review
198200
llvm/test/Instrumentation/AddressSanitizer/ @intel/dpcpp-sanitizers-review
199201
llvm/test/Instrumentation/MemorySanitizer/ @intel/dpcpp-sanitizers-review
202+
llvm/test/Instrumentation/ThreadSanitizer/ @intel/dpcpp-sanitizers-review
200203
sycl/test-e2e/AddressSanitizer/ @intel/dpcpp-sanitizers-review
201204
sycl/test-e2e/MemorySanitizer/ @intel/dpcpp-sanitizers-review

.github/workflows/sycl-linux-precommit.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,13 @@ jobs:
107107
target_devices: level_zero:gpu
108108
# The new Xe kernel driver used by BMG doesn't support resetting.
109109
reset_intel_gpu: false
110+
- name: SPIR-V Backend / Intel Battlemage Graphics
111+
runner: '["Linux", "bmg"]'
112+
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
113+
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
114+
reset_intel_gpu: false
115+
extra_lit_opts: --param spirv-backend=True
116+
e2e_binaries_artifact: sycl_e2e_bin_default_spirv_backend
110117
uses: ./.github/workflows/sycl-linux-run-tests.yml
111118
with:
112119
name: ${{ matrix.name }}
@@ -120,7 +127,7 @@ jobs:
120127
sycl_toolchain_artifact: sycl_linux_default
121128
sycl_toolchain_archive: ${{ needs.build.outputs.artifact_archive_name }}
122129
sycl_toolchain_decompress_command: ${{ needs.build.outputs.artifact_decompress_command }}
123-
e2e_binaries_artifact: sycl_e2e_bin_default
130+
e2e_binaries_artifact: ${{ matrix.e2e_binaries_artifact || 'sycl_e2e_bin_default' }}
124131
e2e_testing_mode: 'run-only'
125132

126133
# Do not install drivers on AMD and CUDA runners.

.github/workflows/sycl-linux-run-tests.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@ on:
145145
- 'level_zero:gpu'
146146
- 'opencl:cpu'
147147
- 'opencl:gpu'
148-
- 'opencl:fpga'
149148
- 'hip:gpu'
150149
- 'cuda:gpu'
151150
tests_selector:

.github/workflows/sycl-post-commit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
include:
4747
- name: Intel GEN12 Graphics with Level Zero
4848
runner: '["Linux", "gen12"]'
49-
target_devices: level_zero:gpu;opencl:fpga
49+
target_devices: level_zero:gpu
5050
reset_intel_gpu: true
5151
- name: Intel Arc A-Series Graphics with Level Zero
5252
runner: '["Linux", "arc"]'

.github/workflows/sycl-windows-build.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ on:
4343
type: choice
4444
options:
4545
- "[]"
46+
- '[sycl]'
4647
- '[llvm, clang, sycl, llvm_spirv, xptifw, libclc, libdevice]'
4748
build_cache_suffix:
4849
type: choice
@@ -164,6 +165,19 @@ jobs:
164165
if: always() && !cancelled() && contains(inputs.changes, 'libdevice')
165166
run: |
166167
cmake --build build --target check-libdevice
168+
- name: Generate/diff new ABI symbols
169+
if: always() && !cancelled() && contains(inputs.changes, 'sycl')
170+
shell: bash
171+
run: |
172+
LLVM_BIN_PATH="build/bin" python.exe src/sycl/tools/abi_check.py --mode dump_symbols --output build/new_sycl_symbols_windows.dump build/bin/sycl?.dll
173+
diff -Naur src/sycl/test/abi/sycl_symbols_windows.dump build/new_sycl_symbols_windows.dump || true
174+
- name: Upload new ABI symbols
175+
if: always() && !cancelled() && contains(inputs.changes, 'sycl')
176+
uses: actions/upload-artifact@v4
177+
with:
178+
name: sycl_windows_abi_symbols
179+
path: build/new_sycl_symbols_windows.dump
180+
retention-days: ${{ inputs.retention-days }}
167181
- name: Install
168182
if: ${{ always() && !cancelled() && steps.build.conclusion == 'success' }}
169183
shell: bash

buildbot/configure.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,15 @@ def do_configure(args):
6565
sycl_enable_xpti_tracing = "ON"
6666
xpti_enable_werror = "OFF"
6767
llvm_enable_zstd = "ON"
68+
spirv_enable_dis = "OFF"
6869

6970
if sys.platform != "darwin":
70-
sycl_enabled_backends.append("level_zero")
71+
# For more info on the enablement of level_zero_v2 refer to this document:
72+
# https://github.com/intel/llvm/blob/sycl/unified-runtime/source/adapters/level_zero/v2/README.md
73+
if args.level_zero_v2:
74+
sycl_enabled_backends.append("level_zero_v2")
75+
else:
76+
sycl_enabled_backends.append("level_zero")
7177

7278
# lld is needed on Windows or for the HIP adapter on AMD
7379
if platform.system() == "Windows" or (args.hip and args.hip_platform == "AMD"):
@@ -151,6 +157,7 @@ def do_configure(args):
151157
if libclc_nvidia_target_names not in libclc_targets_to_build:
152158
libclc_targets_to_build += libclc_nvidia_target_names
153159
libclc_gen_remangled_variants = "ON"
160+
spirv_enable_dis = "ON"
154161

155162
if args.enable_backends:
156163
sycl_enabled_backends += args.enable_backends
@@ -188,6 +195,7 @@ def do_configure(args):
188195
"-DBUILD_SHARED_LIBS={}".format(llvm_build_shared_libs),
189196
"-DSYCL_ENABLE_XPTI_TRACING={}".format(sycl_enable_xpti_tracing),
190197
"-DLLVM_ENABLE_LLD={}".format(llvm_enable_lld),
198+
"-DLLVM_SPIRV_ENABLE_LIBSPIRV_DIS={}".format(spirv_enable_dis),
191199
"-DXPTI_ENABLE_WERROR={}".format(xpti_enable_werror),
192200
"-DSYCL_CLANG_EXTRA_FLAGS={}".format(sycl_clang_extra_flags),
193201
"-DSYCL_ENABLE_BACKENDS={}".format(";".join(set(sycl_enabled_backends))),
@@ -327,6 +335,9 @@ def main():
327335
default="AMD",
328336
help="choose hardware platform for HIP backend",
329337
)
338+
parser.add_argument(
339+
"--level_zero_v2", action="store_true", help="Enable SYCL Level Zero V2"
340+
)
330341
parser.add_argument(
331342
"--host-target",
332343
default="host",

devops/dependencies-igc-dev.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"linux": {
33
"igc_dev": {
4-
"github_tag": "igc-dev-485a03a",
5-
"version": "485a03a",
6-
"updated_at": "2025-02-23T08:39:32Z",
7-
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/2636767722/zip",
4+
"github_tag": "igc-dev-e651db8",
5+
"version": "e651db8",
6+
"updated_at": "2025-02-26T22:36:50Z",
7+
"url": "https://api.github.com/repos/intel/intel-graphics-compiler/actions/artifacts/2659517987/zip",
88
"root": "{DEPS_ROOT}/opencl/runtime/linux/oclgpu"
99
}
1010
}

llvm-spirv/lib/SPIRV/SPIRVWriter.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6789,10 +6789,6 @@ LLVMToSPIRVBase::transBuiltinToInstWithoutDecoration(Op OC, CallInst *CI,
67896789
transValue(CI->getArgOperand(2), BB), BB);
67906790
return BM->addStoreInst(transValue(CI->getArgOperand(0), BB), V, {}, BB);
67916791
}
6792-
case OpCooperativeMatrixLengthKHR: {
6793-
return BM->addCooperativeMatrixLengthKHRInst(
6794-
transScavengedType(CI), transType(CI->getArgOperand(0)->getType()), BB);
6795-
}
67966792
case OpGroupNonUniformShuffleDown: {
67976793
Function *F = CI->getCalledFunction();
67986794
if (F->arg_size() && F->getArg(0)->hasStructRetAttr()) {

llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.cpp

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -279,9 +279,6 @@ class SPIRVModuleImpl : public SPIRVModule {
279279
SPIRVTypeTaskSequenceINTEL *addTaskSequenceINTELType() override;
280280
SPIRVInstruction *addTaskSequenceGetINTELInst(SPIRVType *, SPIRVValue *,
281281
SPIRVBasicBlock *) override;
282-
SPIRVInstruction *
283-
addCooperativeMatrixLengthKHRInst(SPIRVType *, SPIRVType *,
284-
SPIRVBasicBlock *) override;
285282
SPIRVType *addOpaqueGenericType(Op) override;
286283
SPIRVTypeDeviceEvent *addDeviceEventType() override;
287284
SPIRVTypeQueue *addQueueType() override;
@@ -1097,14 +1094,6 @@ SPIRVInstruction *SPIRVModuleImpl::addTaskSequenceGetINTELInst(
10971094
BB);
10981095
}
10991096

1100-
SPIRVInstruction *SPIRVModuleImpl::addCooperativeMatrixLengthKHRInst(
1101-
SPIRVType *RetTy, SPIRVType *MatTy, SPIRVBasicBlock *BB) {
1102-
return addInstruction(
1103-
SPIRVInstTemplateBase::create(OpCooperativeMatrixLengthKHR, RetTy,
1104-
getId(), getVec(MatTy->getId()), BB, this),
1105-
BB);
1106-
}
1107-
11081097
SPIRVType *SPIRVModuleImpl::addOpaqueGenericType(Op TheOpCode) {
11091098
return addType(new SPIRVTypeOpaqueGeneric(TheOpCode, this, getId()));
11101099
}

llvm-spirv/lib/SPIRV/libSPIRV/SPIRVModule.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -272,9 +272,6 @@ class SPIRVModule {
272272
virtual SPIRVTypeTaskSequenceINTEL *addTaskSequenceINTELType() = 0;
273273
virtual SPIRVInstruction *
274274
addTaskSequenceGetINTELInst(SPIRVType *, SPIRVValue *, SPIRVBasicBlock *) = 0;
275-
virtual SPIRVInstruction *
276-
addCooperativeMatrixLengthKHRInst(SPIRVType *, SPIRVType *,
277-
SPIRVBasicBlock *) = 0;
278275
virtual SPIRVTypeVoid *addVoidType() = 0;
279276
virtual SPIRVType *addOpaqueGenericType(Op) = 0;
280277
virtual SPIRVTypeDeviceEvent *addDeviceEventType() = 0;

0 commit comments

Comments
 (0)