Skip to content

Commit e571174

Browse files
committed
Merge branch 'sycl' into pietro/ci_native_cpu_use_ock
2 parents 12cae06 + 3006324 commit e571174

File tree

11,643 files changed

+433921
-206485
lines changed

Some content is hidden

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

11,643 files changed

+433921
-206485
lines changed

.ci/generate-buildkite-pipeline-premerge

Lines changed: 31 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ function compute-projects-to-test() {
6868
done
6969
;;
7070
clang)
71-
for p in clang-tools-extra compiler-rt flang lldb cross-project-tests; do
71+
for p in clang-tools-extra compiler-rt lldb cross-project-tests; do
7272
echo $p
7373
done
7474
;;
@@ -85,6 +85,22 @@ function compute-projects-to-test() {
8585
done
8686
}
8787

88+
function compute-runtimes-to-test() {
89+
projects=${@}
90+
for project in ${projects}; do
91+
case ${project} in
92+
clang)
93+
for p in libcxx libcxxabi libunwind; do
94+
echo $p
95+
done
96+
;;
97+
*)
98+
# Nothing to do
99+
;;
100+
esac
101+
done
102+
}
103+
88104
function add-dependencies() {
89105
projects=${@}
90106
for project in ${projects}; do
@@ -178,6 +194,15 @@ function check-targets() {
178194
cross-project-tests)
179195
echo "check-cross-project"
180196
;;
197+
libcxx)
198+
echo "check-cxx"
199+
;;
200+
libcxxabi)
201+
echo "check-cxxabi"
202+
;;
203+
libunwind)
204+
echo "check-unwind"
205+
;;
181206
lldb)
182207
echo "check-all" # TODO: check-lldb may not include all the LLDB tests?
183208
;;
@@ -207,17 +232,6 @@ if echo "$modified_dirs" | grep -q -E "^(libcxx|libcxxabi|libunwind|runtimes|cma
207232
EOF
208233
fi
209234

210-
# If clang changed.
211-
if echo "$modified_dirs" | grep -q -E "^(clang)$"; then
212-
cat <<EOF
213-
- trigger: "clang-ci"
214-
build:
215-
message: "${buildMessage}"
216-
commit: "${BUILDKITE_COMMIT}"
217-
branch: "${BUILDKITE_BRANCH}"
218-
EOF
219-
fi
220-
221235
# Generic pipeline for projects that have not defined custom steps.
222236
#
223237
# Individual projects should instead define the pre-commit CI tests that suits their
@@ -231,6 +245,10 @@ linux_projects_to_test=$(exclude-linux $(compute-projects-to-test ${modified_pro
231245
linux_check_targets=$(check-targets ${linux_projects_to_test} | sort | uniq)
232246
linux_projects=$(add-dependencies ${linux_projects_to_test} | sort | uniq)
233247

248+
linux_runtimes_to_test=$(compute-runtimes-to-test ${linux_projects_to_test})
249+
linux_runtime_check_targets=$(check-targets ${linux_runtimes_to_test} | sort | uniq)
250+
linux_runtimes=$(echo ${linux_runtimes_to_test} | sort | uniq)
251+
234252
windows_projects_to_test=$(exclude-windows $(compute-projects-to-test ${modified_projects}))
235253
windows_check_targets=$(check-targets ${windows_projects_to_test} | sort | uniq)
236254
windows_projects=$(add-dependencies ${windows_projects_to_test} | sort | uniq)
@@ -255,7 +273,7 @@ if [[ "${linux_projects}" != "" ]]; then
255273
CC: 'clang'
256274
CXX: 'clang++'
257275
commands:
258-
- './.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})"'
276+
- './.ci/monolithic-linux.sh "$(echo ${linux_projects} | tr ' ' ';')" "$(echo ${linux_check_targets})" "$(echo ${linux_runtimes} | tr ' ' ';')" "$(echo ${linux_runtime_check_targets})"'
259277
EOF
260278
fi
261279

.ci/monolithic-linux.sh

Lines changed: 73 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ set -o pipefail
1818

1919
MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}"
2020
BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build}"
21+
INSTALL_DIR="${BUILD_DIR}/install"
2122
rm -rf "${BUILD_DIR}"
2223

2324
ccache --zero-stats
@@ -49,8 +50,79 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
4950
-D LLVM_ENABLE_LLD=ON \
5051
-D CMAKE_CXX_FLAGS=-gmlt \
5152
-D LLVM_CCACHE_BUILD=ON \
52-
-D MLIR_ENABLE_BINDINGS_PYTHON=ON
53+
-D MLIR_ENABLE_BINDINGS_PYTHON=ON \
54+
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}"
5355

5456
echo "--- ninja"
5557
# Targets are not escaped as they are passed as separate arguments.
5658
ninja -C "${BUILD_DIR}" -k 0 ${targets}
59+
60+
runtimes="${3}"
61+
runtime_targets="${4}"
62+
63+
# Compiling runtimes with just-built Clang and running their tests
64+
# as an additional testing for Clang.
65+
if [[ "${runtimes}" != "" ]]; then
66+
if [[ "${runtime_targets}" == "" ]]; then
67+
echo "Runtimes to build are specified, but targets are not."
68+
exit 1
69+
fi
70+
71+
echo "--- ninja install-clang"
72+
73+
ninja -C ${BUILD_DIR} install-clang install-clang-resource-headers
74+
75+
RUNTIMES_BUILD_DIR="${MONOREPO_ROOT}/build-runtimes"
76+
INSTALL_DIR="${BUILD_DIR}/install"
77+
mkdir -p ${RUNTIMES_BUILD_DIR}
78+
79+
echo "--- cmake runtimes C++03"
80+
81+
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
82+
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
83+
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
84+
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
85+
-D LIBCXX_CXX_ABI=libcxxabi \
86+
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
87+
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
88+
-D LIBCXX_TEST_PARAMS="std=c++03" \
89+
-D LIBCXXABI_TEST_PARAMS="std=c++03"
90+
91+
echo "--- ninja runtimes C++03"
92+
93+
ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}
94+
95+
echo "--- cmake runtimes C++26"
96+
97+
rm -rf "${RUNTIMES_BUILD_DIR}"
98+
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
99+
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
100+
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
101+
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
102+
-D LIBCXX_CXX_ABI=libcxxabi \
103+
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
104+
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
105+
-D LIBCXX_TEST_PARAMS="std=c++26" \
106+
-D LIBCXXABI_TEST_PARAMS="std=c++26"
107+
108+
echo "--- ninja runtimes C++26"
109+
110+
ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}
111+
112+
echo "--- cmake runtimes clang modules"
113+
114+
rm -rf "${RUNTIMES_BUILD_DIR}"
115+
cmake -S "${MONOREPO_ROOT}/runtimes" -B "${RUNTIMES_BUILD_DIR}" -GNinja \
116+
-D CMAKE_C_COMPILER="${INSTALL_DIR}/bin/clang" \
117+
-D CMAKE_CXX_COMPILER="${INSTALL_DIR}/bin/clang++" \
118+
-D LLVM_ENABLE_RUNTIMES="${runtimes}" \
119+
-D LIBCXX_CXX_ABI=libcxxabi \
120+
-D CMAKE_BUILD_TYPE=RelWithDebInfo \
121+
-D CMAKE_INSTALL_PREFIX="${INSTALL_DIR}" \
122+
-D LIBCXX_TEST_PARAMS="enable_modules=clang" \
123+
-D LIBCXXABI_TEST_PARAMS="enable_modules=clang"
124+
125+
echo "--- ninja runtimes clang modules"
126+
127+
ninja -vC "${RUNTIMES_BUILD_DIR}" ${runtime_targets}
128+
fi

.github/CODEOWNERS

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ sycl/test-e2e/KernelFusion @intel/dpcpp-kernel-fusion-reviewers
126126
sycl/include/sycl/ext/oneapi/matrix/ @intel/sycl-matrix-reviewers
127127
sycl/test-e2e/Matrix @intel/sycl-matrix-reviewers
128128
sycl/test/matrix @intel/sycl-matrix-reviewers
129+
sycl/test/check_device_code/matrix @intel/sycl-matrix-reviewers
129130

130131
# Native CPU
131132
llvm/**/*SYCLNativeCPU* @intel/dpcpp-nativecpu-pi-reviewers
@@ -164,3 +165,15 @@ sycl/test-e2e/DeviceCodeSplit/ @intel/dpcpp-tools-reviewers
164165
sycl/test-e2e/SeparateCompile/ @intel/dpcpp-tools-reviewers
165166
sycl/test-e2e/Printf/ @intel/dpcpp-tools-reviewers @intel/llvm-reviewers-runtime
166167
sycl/test-e2e/SpecConstants/ @intel/dpcpp-tools-reviewers
168+
169+
# Sanitizer
170+
clang/lib/Driver/SanitizerArgs.cpp @intel/dpcpp-sanitizers-review
171+
libdevice/sanitizer_utils.cpp @intel/dpcpp-sanitizers-review
172+
libdevice/include/asan_libdevice.hpp @intel/dpcpp-sanitizers-review
173+
libdevice/include/sanitizer_utils.hpp @intel/dpcpp-sanitizers-review
174+
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp @intel/dpcpp-sanitizers-review
175+
sycl/test-e2e/AddressSanitizer/ @intel/dpcpp-sanitizers-review
176+
llvm/test/Instrumentation/AddressSanitizer/ @intel/dpcpp-sanitizers-review
177+
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerOptions.h @intel/dpcpp-sanitizers-review
178+
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizerCommon.h @intel/dpcpp-sanitizers-review
179+
llvm/include/llvm/Transforms/Instrumentation/AddressSanitizer.h @intel/dpcpp-sanitizers-review

.github/ISSUE_TEMPLATE/1-bug-report.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ body:
1414
attributes:
1515
label: To reproduce
1616
description: Please describe the steps to reproduce the behavior
17-
placeholder: |
17+
value: |
1818
1. Include a code snippet that is as short as possible
1919
2. Specify the command which should be used to compile the program
2020
3. Specify the command which should be used to launch the program
@@ -26,7 +26,7 @@ body:
2626
attributes:
2727
label: Environment
2828
description: Please complete the following information
29-
placeholder: |
29+
value: |
3030
- OS: [e.g Windows/Linux]
3131
- Target device and vendor: [e.g. Intel GPU]
3232
- DPC++ version: [e.g. commit hash or output of `clang++ --version`]

.github/ISSUE_TEMPLATE/2-bug-report-cuda.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ body:
1717
attributes:
1818
label: To reproduce
1919
description: Please describe the steps to reproduce the behavior
20-
placeholder: |
20+
value: |
2121
1. Include code snippet as short as possible
2222
2. Specify the command which should be used to compile the program
2323
3. Specify the command which should be used to launch the program
@@ -29,7 +29,7 @@ body:
2929
attributes:
3030
label: Environment
3131
description: Please complete the following information
32-
placeholder: |
32+
value: |
3333
- OS: [e.g Windows/Linux]
3434
- Target device and vendor: [e.g. Nvidia GPU]
3535
- DPC++ version: [e.g. commit hash or output of `clang++ --version`]

.github/ISSUE_TEMPLATE/3-bug-report-hip.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ body:
1717
attributes:
1818
label: To reproduce
1919
description: Please describe the steps to reproduce the behavior
20-
placeholder: |
20+
value: |
2121
1. Include code snippet as short as possible
2222
2. Specify the command which should be used to compile the program
2323
3. Specify the command which should be used to launch the program
@@ -29,7 +29,7 @@ body:
2929
attributes:
3030
label: Environment
3131
description: Please complete the following information
32-
placeholder: |
32+
value: |
3333
- OS: [e.g Windows/Linux]
3434
- Target device and vendor: [e.g. AMD GPU]
3535
- DPC++ version: [e.g. commit hash or output of `clang++ --version`]

.github/new-prs-labeler.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ mlir:dlti:
239239
- mlir/**/DLTI/**
240240

241241
mlir:emitc:
242-
- mlir/**/EmitC/**
242+
- mlir/**/*EmitC*/**
243243
- mlir/lib/Target/Cpp/**
244244

245245
mlir:func:
@@ -306,7 +306,7 @@ mlir:tensor:
306306
- mlir/**/Tensor/**
307307

308308
mlir:tosa:
309-
- mlir/**/Tosa/**
309+
- mlir/**/*Tosa*/**
310310

311311
mlir:ub:
312312
- mlir/**/UB/**

.github/workflows/issue-release-workflow.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353

5454
- name: Setup Environment
5555
run: |
56-
pip install -r ./llvm/utils/git/requirements.txt
56+
pip install --require-hashes -r ./llvm/utils/git/requirements.txt
5757
./llvm/utils/git/github-automation.py --token ${{ github.token }} setup-llvmbot-git
5858
5959
- name: Backport Commits

.github/workflows/issue-subscriber.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Setup Automation Script
2323
working-directory: ./llvm/utils/git/
2424
run: |
25-
pip install -r requirements.txt
25+
pip install --require-hashes -r requirements.txt
2626
2727
- name: Update watchers
2828
working-directory: ./llvm/utils/git/

.github/workflows/libclang-abi-tests.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ jobs:
3333
ABI_HEADERS: ${{ steps.vars.outputs.ABI_HEADERS }}
3434
ABI_LIBS: ${{ steps.vars.outputs.ABI_LIBS }}
3535
BASELINE_VERSION_MAJOR: ${{ steps.vars.outputs.BASELINE_VERSION_MAJOR }}
36-
BASELINE_VERSION_MINOR: ${{ steps.vars.outputs.BASELINE_VERSION_MINOR }}
3736
LLVM_VERSION_MAJOR: ${{ steps.version.outputs.LLVM_VERSION_MAJOR }}
3837
LLVM_VERSION_MINOR: ${{ steps.version.outputs.LLVM_VERSION_MINOR }}
3938
LLVM_VERSION_PATCH: ${{ steps.version.outputs.LLVM_VERSION_PATCH }}
@@ -51,9 +50,9 @@ jobs:
5150
id: vars
5251
run: |
5352
remote_repo='https://github.com/llvm/llvm-project'
54-
if [ ${{ steps.version.outputs.LLVM_VERSION_MINOR }} -ne 0 ] || [ ${{ steps.version.outputs.LLVM_VERSION_PATCH }} -eq 0 ]; then
53+
if [ ${{ steps.version.outputs.LLVM_VERSION_PATCH }} -eq 0 ]; then
5554
major_version=$(( ${{ steps.version.outputs.LLVM_VERSION_MAJOR }} - 1))
56-
baseline_ref="llvmorg-$major_version.0.0"
55+
baseline_ref="llvmorg-$major_version.1.0"
5756
5857
# If there is a minor release, we want to use that as the base line.
5958
minor_ref=$(git ls-remote --refs -t "$remote_repo" llvmorg-"$major_version".[1-9].[0-9] | tail -n1 | grep -o 'llvmorg-.\+' || true)
@@ -75,7 +74,7 @@ jobs:
7574
else
7675
{
7776
echo "BASELINE_VERSION_MAJOR=${{ steps.version.outputs.LLVM_VERSION_MAJOR }}"
78-
echo "BASELINE_REF=llvmorg-${{ steps.version.outputs.LLVM_VERSION_MAJOR }}.0.0"
77+
echo "BASELINE_REF=llvmorg-${{ steps.version.outputs.LLVM_VERSION_MAJOR }}.1.0"
7978
echo "ABI_HEADERS=."
8079
echo "ABI_LIBS=libclang.so libclang-cpp.so"
8180
} >> "$GITHUB_OUTPUT"

0 commit comments

Comments
 (0)