Skip to content

Commit 653df4f

Browse files
committed
Merge branch 'sycl' of https://github.com/intel/llvm into ianayl/2way-prefetch
2 parents 0ec09f8 + 7146eec commit 653df4f

File tree

89 files changed

+1673
-1784
lines changed

Some content is hidden

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

89 files changed

+1673
-1784
lines changed

.github/CODEOWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,11 +170,16 @@ sycl/test-e2e/LLVMIntrinsicLowering/ @intel/dpcpp-spirv-reviewers
170170
# Sanitizer
171171
clang/lib/Driver/SanitizerArgs.cpp @intel/dpcpp-sanitizers-review
172172
libdevice/include/asan_rtl.hpp @intel/dpcpp-sanitizers-review
173+
libdevice/include/msan_rtl.hpp @intel/dpcpp-sanitizers-review
173174
libdevice/include/sanitizer_defs.hpp @intel/dpcpp-sanitizers-review
174175
libdevice/sanitizer/ @intel/dpcpp-sanitizers-review
175176
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h @intel/dpcpp-sanitizers-review
176177
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h @intel/dpcpp-sanitizers-review
177178
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerOptions.h @intel/dpcpp-sanitizers-review
179+
llvm/include/llvm/Transforms/Instrumentation/MemorySanitizer.h @intel/dpcpp-sanitizers-review
178180
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp @intel/dpcpp-sanitizers-review
181+
llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp @intel/dpcpp-sanitizers-review
179182
llvm/test/Instrumentation/AddressSanitizer/ @intel/dpcpp-sanitizers-review
183+
llvm/test/Instrumentation/MemorySanitizer/ @intel/dpcpp-sanitizers-review
180184
sycl/test-e2e/AddressSanitizer/ @intel/dpcpp-sanitizers-review
185+
sycl/test-e2e/MemorySanitizer/ @intel/dpcpp-sanitizers-review

.github/workflows/sycl-containers.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ jobs:
8282
file: ${{ matrix.file }}
8383
username: ${{ github.repository_owner }}
8484
password: ${{ secrets.GITHUB_TOKEN }}
85-
sycl_ci_passwd: ${{ secrets.DOCKER_SUDO_PASSWORD }}
8685
tags: |
8786
ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }}-${{ github.sha }}
8887
ghcr.io/${{ github.repository }}/${{ matrix.file }}:${{ matrix.tag }}

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

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -92,14 +92,14 @@ jobs:
9292
reset_intel_gpu: false
9393
- name: Intel
9494
runner: '["Linux", "gen12"]'
95-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
95+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
9696
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
9797
target_devices: level_zero:gpu;opencl:gpu;opencl:cpu
9898
reset_intel_gpu: true
9999
extra_lit_opts: --param gpu-intel-gen12=True
100100
- name: E2E tests on Intel Arc A-Series Graphics
101101
runner: '["Linux", "arc"]'
102-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
102+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
103103
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
104104
target_devices: level_zero:gpu;opencl:gpu
105105
reset_intel_gpu: true
@@ -161,12 +161,12 @@ jobs:
161161
include:
162162
- name: Intel GEN12 Graphics system
163163
runner: '["Linux", "gen12"]'
164-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
164+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
165165
image_extra_opts: --device=/dev/dri
166166
reset_intel_gpu: true
167167
- name: Intel Arc A-Series Graphics system
168168
runner: '["Linux", "arc"]'
169-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
169+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
170170
image_extra_opts: --device=/dev/dri
171171
reset_intel_gpu: true
172172
- name: AMD system

.github/workflows/sycl-nightly.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252

5353
- name: Intel L0 GPU
5454
runner: '["Linux", "gen12"]'
55-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
55+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
5656
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
5757
target_devices: level_zero:gpu
5858
reset_intel_gpu: true
@@ -61,7 +61,7 @@ jobs:
6161

6262
- name: Intel OCL GPU
6363
runner: '["Linux", "gen12"]'
64-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
64+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
6565
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
6666
target_devices: opencl:gpu
6767
reset_intel_gpu: true
@@ -70,35 +70,35 @@ jobs:
7070

7171
- name: OCL CPU (AMD)
7272
runner: '["Linux", "amdgpu"]'
73-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
73+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
7474
image_options: -u 1001
7575
target_devices: opencl:cpu
7676
tests_selector: e2e
7777

7878
- name: OCL CPU (Intel/GEN12)
7979
runner: '["Linux", "gen12"]'
80-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
80+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
8181
image_options: -u 1001 --privileged --cap-add SYS_ADMIN
8282
target_devices: opencl:cpu
8383
tests_selector: e2e
8484

8585
- name: OCL CPU (Intel/Arc)
8686
runner: '["Linux", "arc"]'
87-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
87+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
8888
image_options: -u 1001
8989
target_devices: opencl:cpu
9090
tests_selector: e2e
9191

9292
- name: SYCL-CTS on OCL CPU
9393
runner: '["Linux", "gen12"]'
94-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
94+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
9595
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
9696
target_devices: opencl:cpu
9797
tests_selector: cts
9898

9999
- name: SYCL-CTS on L0 gen12
100100
runner: '["Linux", "gen12"]'
101-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
101+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
102102
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
103103
target_devices: level_zero:gpu
104104
tests_selector: cts
@@ -229,7 +229,7 @@ jobs:
229229
username: ${{ github.repository_owner }}
230230
password: ${{ secrets.GITHUB_TOKEN }}
231231
build-args: |
232-
base_image=ghcr.io/intel/llvm/ubuntu2204_intel_drivers
232+
base_image=ghcr.io/intel/llvm/ubuntu2404_intel_drivers
233233
base_tag=latest
234234
tags: |
235235
ghcr.io/${{ github.repository }}/sycl_ubuntu2204_nightly:${{ github.sha }}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,7 @@ jobs:
8282
with:
8383
name: ${{ matrix.name }}
8484
runner: ${{ matrix. runner }}
85-
image: ${{ matrix.image || 'ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest' }}
85+
image: ${{ matrix.image || 'ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest' }}
8686
image_options: ${{ matrix.image_options || '-u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN' }}
8787
target_devices: ${{ matrix.target_devices || 'level_zero:gpu' }}
8888
reset_intel_gpu: ${{ matrix.reset_intel_gpu }}

.github/workflows/sycl-rel-nightly.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,14 @@ jobs:
5454
include:
5555
- name: AMD/HIP
5656
runner: '["Linux", "amdgpu"]'
57-
image: ghcr.io/intel/llvm/ubuntu2204_build:latest
57+
image: ghcr.io/intel/llvm/ubuntu2404_build:latest
5858
image_options: -u 1001 --device=/dev/dri --device=/dev/kfd
5959
target_devices: ext_oneapi_hip:gpu
6060
tests_selector: e2e
6161

6262
- name: Intel L0 GPU
6363
runner: '["Linux", "gen12"]'
64-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
64+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
6565
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
6666
target_devices: level_zero:gpu
6767
reset_intel_gpu: true
@@ -70,7 +70,7 @@ jobs:
7070

7171
- name: Intel OCL GPU
7272
runner: '["Linux", "gen12"]'
73-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
73+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
7474
image_options: -u 1001 --device=/dev/dri -v /dev/dri/by-path:/dev/dri/by-path --privileged --cap-add SYS_ADMIN
7575
target_devices: opencl:gpu
7676
reset_intel_gpu: true
@@ -79,21 +79,21 @@ jobs:
7979

8080
- name: Intel OCL CPU
8181
runner: '["Linux", "gen12"]'
82-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
82+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
8383
image_options: -u 1001 --privileged --cap-add SYS_ADMIN
8484
target_devices: opencl:cpu
8585
tests_selector: e2e
8686

8787
- name: SYCL-CTS on OCL CPU
8888
runner: '["Linux", "gen12"]'
89-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
89+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
9090
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
9191
target_devices: opencl:cpu
9292
tests_selector: cts
9393

9494
- name: SYCL-CTS on L0 gen12
9595
runner: '["Linux", "gen12"]'
96-
image: ghcr.io/intel/llvm/ubuntu2204_intel_drivers:latest
96+
image: ghcr.io/intel/llvm/ubuntu2404_intel_drivers:latest
9797
image_options: -u 1001 --device=/dev/dri --privileged --cap-add SYS_ADMIN
9898
target_devices: level_zero:gpu
9999
tests_selector: cts

clang/lib/Driver/ToolChains/Clang.cpp

Lines changed: 40 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5665,9 +5665,27 @@ void Clang::ConstructJob(Compilation &C, const JobAction &JA,
56655665
CmdArgs.push_back("-Wno-sycl-strict");
56665666
}
56675667

5668-
// Set O2 optimization level by default
5669-
if (!Args.getLastArg(options::OPT_O_Group))
5670-
CmdArgs.push_back("-O2");
5668+
// If no optimization controlling flags (-O) are provided, check if
5669+
// any debug information flags(-g) are passed.
5670+
// "-fintelfpga" implies "-g" and we preserve the default optimization for
5671+
// this flow(-O2).
5672+
// if "-g" is explicitly passed from the command-line, set default
5673+
// optimization to -O0.
5674+
5675+
if (!Args.hasArgNoClaim(options::OPT_O_Group, options::OPT__SLASH_O)) {
5676+
StringRef OptLevel = "-O2";
5677+
const Arg *DebugInfoGroup = Args.getLastArg(options::OPT_g_Group);
5678+
// -fintelfpga -g case
5679+
if ((Args.hasArg(options::OPT_fintelfpga) &&
5680+
Args.hasMultipleArgs(options::OPT_g_Group)) ||
5681+
/* -fsycl -g case */ (!Args.hasArg(options::OPT_fintelfpga) &&
5682+
DebugInfoGroup)) {
5683+
if (!DebugInfoGroup->getOption().matches(options::OPT_g0)) {
5684+
OptLevel = "-O0";
5685+
}
5686+
}
5687+
CmdArgs.push_back(OptLevel.data());
5688+
}
56715689

56725690
// Add the integration header option to generate the header.
56735691
StringRef Header(D.getIntegrationHeader(Input.getBaseInput()));
@@ -10931,7 +10949,25 @@ static std::string getSYCLPostLinkOptimizationLevel(const ArgList &Args) {
1093110949
[=](char c) { return c == S[0]; }))
1093210950
return std::string("-O") + S[0];
1093310951
}
10934-
10952+
// If no optimization controlling flags (-O) are provided, check if
10953+
// any debug information flags(-g) are passed.
10954+
// "-fintelfpga" implies "-g" and we preserve the default optimization for
10955+
// this flow(-O2).
10956+
// if "-g" is explicitly passed from the command-line, set default
10957+
// optimization to -O0.
10958+
10959+
if (!Args.hasArg(options::OPT_O_Group)) {
10960+
const Arg *DebugInfoGroup = Args.getLastArg(options::OPT_g_Group);
10961+
// -fintelfpga -g case
10962+
if ((Args.hasArg(options::OPT_fintelfpga) &&
10963+
Args.hasMultipleArgs(options::OPT_g_Group)) ||
10964+
/* -fsycl -g case */
10965+
(!Args.hasArg(options::OPT_fintelfpga) && DebugInfoGroup)) {
10966+
if (!DebugInfoGroup->getOption().matches(options::OPT_g0)) {
10967+
return "-O0";
10968+
}
10969+
}
10970+
}
1093510971
// The default for SYCL device code optimization
1093610972
return "-O2";
1093710973
}

clang/test/Driver/sycl-device-optimizations.cpp

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,59 @@
5353
// RUN: %clang -### -fsycl --offload-new-driver %s 2>&1 \
5454
// RUN: | FileCheck -check-prefix=CHECK-NO-THRESH %s
5555
// CHECK-NO-THRESH-NOT: "-mllvm" "-inline-threshold
56+
57+
/// Check that optimizations for sycl device are disabled with -g passed:
58+
// RUN: %clang -### -fsycl -g %s 2>&1 \
59+
// RUN: | FileCheck -check-prefix=CHECK-DEBUG %s
60+
// RUN: %clang_cl -### -fsycl -g %s 2>&1 \
61+
// RUN: | FileCheck -check-prefix=CHECK-DEBUG %s
62+
// CHECK-DEBUG: clang{{.*}} "-fsycl-is-device{{.*}}" "-O0"
63+
// CHECK-DEBUG: sycl-post-link{{.*}} "-O0"
64+
// CHECK-DEBUG-NOT: "-O2"
65+
66+
/// Check that optimizations for sycl device are enabled with -g and O2 passed:
67+
// RUN: %clang -### -fsycl -O2 -g %s 2>&1 \
68+
// RUN: | FileCheck -check-prefix=CHECK-G-O2 %s
69+
// For clang_cl, -O2 maps to -O3
70+
// RUN: %clang_cl -### -fsycl -O2 -g %s 2>&1 \
71+
// RUN: | FileCheck -check-prefix=CHECK-G-O3 %s
72+
// CHECK-G-O2: clang{{.*}} "-fsycl-is-device{{.*}}" "-O2"
73+
// CHECK-G-O2: sycl-post-link{{.*}} "-O2"
74+
// CHECK-G-O2-NOT: "-O0"
75+
// CHECK-G-O3: clang{{.*}} "-fsycl-is-device{{.*}}" "-O3"
76+
// CHECK-G-O3: sycl-post-link{{.*}} "-O3"
77+
// CHECK-G-O3-NOT: "-O0"
78+
79+
/// Check that -O2 is passed for FPGA
80+
// RUN: %clang -### -fintelfpga -fsycl-early-optimizations %s 2>&1 \
81+
// RUN: | FileCheck -check-prefix=CHECK-FPGA %s
82+
// RUN: %clang_cl -### -fintelfpga -fsycl-early-optimizations %s 2>&1 \
83+
// RUN: | FileCheck -check-prefix=CHECK-FPGA %s
84+
// CHECK-FPGA: clang{{.*}} "-fsycl-is-device{{.*}}" "-O2"
85+
// CHECK-FPGA: sycl-post-link{{.*}} "-O2"
86+
// CHECK-FPGA-NOT: "-O0"
87+
88+
/// Check that -O2 preserves for FPGA when it's explicitly passed
89+
// RUN: %clang -### -O2 -fintelfpga -fsycl-early-optimizations %s 2>&1 \
90+
// RUN: | FileCheck -check-prefix=CHECK-FPGA-O2 %s
91+
// For clang_cl, -O2 maps to -O3
92+
// RUN: %clang_cl -### -O2 -fintelfpga -fsycl-early-optimizations %s 2>&1 \
93+
// RUN: | FileCheck -check-prefix=CHECK-FPGA-O3 %s
94+
// CHECK-FPGA-O2: clang{{.*}} "-fsycl-is-device{{.*}}" "-O2"
95+
// CHECK-FPGA-O2: sycl-post-link{{.*}} "-O2"
96+
// CHECK-FPGA-O2-NOT: "-O0"
97+
// CHECK-FPGA-O3: clang{{.*}} "-fsycl-is-device{{.*}}" "-O3"
98+
// CHECK-FPGA-O3: sycl-post-link{{.*}} "-O3"
99+
// CHECK-FPGA-O3-NOT: "-O0"
100+
101+
/// Check that -O0 is passed for FPGA when -g is explicitly passed
102+
// RUN: %clang -### -fintelfpga -g %s 2>&1 \
103+
// RUN: | FileCheck -check-prefix=CHECK-FPGA-O0 %s
104+
// RUN: %clang_cl -### -fintelfpga -g %s 2>&1 \
105+
// RUN: | FileCheck -check-prefix=CHECK-FPGA-O0 %s
106+
// CHECK-FPGA-O0: clang{{.*}} "-fsycl-is-device{{.*}}" "-O0"
107+
// CHECK-FPGA-O0: sycl-post-link{{.*}} "-O0"
108+
// CHECK-FPGA-O0-NOT: "-O2"
109+
110+
111+

clang/test/Driver/sycl-offload-intelfpga.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,8 @@
228228
// RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS %s
229229
// RUN: %clang_cl -### -fintelfpga -Zi -Od -Xs "-DFOO1 -DFOO2" -Xshardware %s 2>&1 \
230230
// RUN: | FileCheck -check-prefix=CHK-TOOLS-IMPLIED-OPTS %s
231-
// CHK-TOOLS-IMPLIED-OPTS-NOT: clang{{.*}} "-fsycl-is-device"{{.*}} "-O0"
232-
// CHK-TOOLS-IMPLIED-OPTS: sycl-post-link{{.*}} "-O2"
231+
// CHK-TOOLS-IMPLIED-OPTS: clang{{.*}} "-fsycl-is-device"{{.*}} "-fno-sycl-early-optimizations"{{.*}} "-O0"
232+
// CHK-TOOLS-IMPLIED-OPTS: sycl-post-link{{.*}} "-O0"
233233
// CHK-TOOLS-IMPLIED-OPTS: aoc{{.*}} "-g" "-DFOO1" "-DFOO2"
234234

235235
/// shared objects should not be checked for FPGA contents

clang/tools/clang-offload-bundler/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ add_clang_tool(clang-offload-bundler
1818
intrinsics_gen
1919
)
2020

21+
setup_host_tool(clang-offload-bundler CLANG_OFFLOAD_BUNDLER
22+
clang-offload-bundler_exe clang-offload-bundler_target)
23+
2124
set(CLANG_OFFLOAD_BUNDLER_LIB_DEPS
2225
clangBasic
2326
clangDriver

0 commit comments

Comments
 (0)