Skip to content

Commit 63c63c4

Browse files
committed
Merge branch 'merge' into codegen-refactor
2 parents 6252547 + 587e50d commit 63c63c4

File tree

8,630 files changed

+1594280
-913474
lines changed

Some content is hidden

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

8,630 files changed

+1594280
-913474
lines changed

.github/CODEOWNERS

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,18 +95,22 @@ xpti/ @tovinkere @andykaylor
9595
xptifw/ @tovinkere @andykaylor
9696

9797
# DPC++ tools
98-
llvm/tools/file-table-tform/ @kbobrovs @AlexeySachkov
99-
llvm/tools/llvm-foreach/ @AlexeySachkov @Fznamznon
100-
llvm/tools/llvm-no-spir-kernel/ @AGindinson @AlexeySachkov
101-
llvm/tools/sycl-post-link/ @kbobrovs @AlexeySachkov
98+
llvm/**/file-table-tform/ @kbobrovs @AlexeySachkov
99+
llvm/**/llvm-foreach/ @AlexeySachkov @Fznamznon
100+
llvm/**/llvm-no-spir-kernel/ @AGindinson @AlexeySachkov
101+
llvm/**/sycl-post-link/ @kbobrovs @AlexeySachkov
102+
llvm/include/llvm/Support/PropertySetIO.h @kbobrovs @AlexeySachkov
103+
llvm/lib/Support/PropertySetIO.cpp @kbobrovs @AlexeySachkov
104+
llvm/unittests/Support/PropertySetIOTest.cpp @kbobrovs @AlexeySachkov
105+
llvm/lib/Support/Base64.cpp @kbobrovs @AlexeySachkov
102106

103107
# Clang offload tools
104108
clang/tools/clang-offload-bundler/ @kbobrovs @sndmitriev
105109
clang/tools/clang-offload-wrapper/ @sndmitriev @kbobrovs
106110
clang/tools/clang-offload-deps/ @sndmitriev
107111

108112
# Explicit SIMD
109-
SYCLLowerIR/ @kbobrovs
110-
esimd/ @kbobrovs
111-
sycl/include/CL/sycl/INTEL/esimd.hpp @kbobrovs
113+
SYCLLowerIR/ @kbobrovs @DenisBakhvalov
114+
esimd/ @kbobrovs @DenisBakhvalov
115+
sycl/include/CL/sycl/INTEL/esimd.hpp @kbobrovs @DenisBakhvalov
112116
sycl/doc/extensions/ExplicitSIMD/ @kbobrovs

.github/lockdown.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Configuration for Repo Lockdown - https://github.com/dessant/repo-lockdown
2+
3+
skipCreatedBefore: "2020-03-21"
4+
5+
pulls:
6+
comment: >
7+
This repository does not accept pull requests.
8+
Please follow http://llvm.org/docs/Contributing.html#how-to-submit-a-patch for contribution to LLVM.

.github/workflows/linux_post_commit.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,13 @@ jobs:
2626
export ARGS=""
2727
;;
2828
SharedLibs)
29+
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
30+
sudo add-apt-repository "deb http://apt.llvm.org/bionic/ llvm-toolchain-bionic main"
31+
sudo apt-get update
32+
sudo apt-get install -y clang-12
2933
export ARGS="--shared-libs"
34+
export CC="clang-12"
35+
export CXX="clang++-12"
3036
;;
3137
NoAssertions)
3238
export ARGS="--no-assertions"

.gitignore

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,9 @@
2121
#OS X specific files.
2222
.DS_store
2323

24+
# Ignore the user specified CMake presets in subproject directories.
25+
/*/CMakeUserPresets.json
26+
2427
# Nested build directory
2528
/build*
2629
!buildbot
@@ -64,3 +67,5 @@ pythonenv*
6467
/clang/utils/analyzer/projects/*/PatchedSource
6568
/clang/utils/analyzer/projects/*/ScanBuildResults
6669
/clang/utils/analyzer/projects/*/RefScanBuildResults
70+
# automodapi puts generated documentation files here.
71+
/lldb/docs/python_api/

CONTRIBUTING.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,14 @@ see [ABI Policy Guide](sycl/doc/ABIPolicyGuide.md) for more information.
6262
- For any DPC++-related commit, the `[SYCL]` tag should be present in the
6363
commit message title. To a reasonable extent, additional tags can be used
6464
to signify the component changed, e.g.: `[PI]`, `[CUDA]`, `[Doc]`.
65+
- For product changes which require modification in tests outside of the current repository
66+
(see [Test DPC++ toolchain](sycl/doc/GetStartedGuide.md#test-dpc-toolchain)),
67+
the commit message should contain the link to corresponding test PR, e.g.: E2E
68+
test changes are available under intel/llvm-test-suite#88 or SYCL
69+
conformance test changes are available under KhronosGroup/SYCL-CTS#65 (see
70+
[Autolinked references and URLs](https://docs.github.com/en/free-pro-team/github/writing-on-github/autolinked-references-and-urls)
71+
for more details). The same message should be present both in commit
72+
message and in PR description.
6573

6674
### Review and acceptance testing
6775

buildbot/check.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ def main():
4949
parser.add_argument("-d", "--base-branch", metavar="BASE_BRANCH", help="pull request base branch")
5050
parser.add_argument("-r", "--pr-number", metavar="PR_NUM", help="pull request number")
5151
parser.add_argument("-w", "--builder-dir", metavar="BUILDER_DIR",
52-
help="builder directory, which is the directory contains source and build directories")
52+
help="builder directory, which is the directory containing source and build directories")
5353
parser.add_argument("-s", "--src-dir", metavar="SRC_DIR", help="source directory")
5454
parser.add_argument("-o", "--obj-dir", metavar="OBJ_DIR", help="build directory")
5555
parser.add_argument("-t", "--test-suite", metavar="TEST_SUITE", default="check-all", help="check-xxx target")

buildbot/clang_tidy.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def main():
5151
help="pull request base branch")
5252
parser.add_argument("-r", "--pr-number", metavar="PR_NUM", help="pull request number")
5353
parser.add_argument("-w", "--builder-dir", metavar="BUILDER_DIR", required=True,
54-
help="builder directory, which is the directory contains source and build directories")
54+
help="builder directory, which is the directory containing source and build directories")
5555
parser.add_argument("-s", "--src-dir", metavar="SRC_DIR", required=True, help="source directory")
5656
parser.add_argument("-o", "--obj-dir", metavar="OBJ_DIR", required=True, help="build directory")
5757

buildbot/compile.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def main():
5151
parser.add_argument("-d", "--base-branch", metavar="BASE_BRANCH", help="pull request base branch")
5252
parser.add_argument("-r", "--pr-number", metavar="PR_NUM", help="pull request number")
5353
parser.add_argument("-w", "--builder-dir", metavar="BUILDER_DIR",
54-
help="builder directory, which is the directory contains source and build directories")
54+
help="builder directory, which is the directory containing source and build directories")
5555
parser.add_argument("-s", "--src-dir", metavar="SRC_DIR", help="source directory")
5656
parser.add_argument("-o", "--obj-dir", metavar="OBJ_DIR", help="build directory")
5757
parser.add_argument("-j", "--build-parallelism", metavar="BUILD_PARALLELISM", help="build parallelism")

buildbot/configure.py

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,28 @@ def do_configure(args):
1313
if not os.path.isdir(abs_obj_dir):
1414
os.makedirs(abs_obj_dir)
1515

16+
llvm_external_projects = 'sycl;llvm-spirv;opencl-aot;libdevice'
17+
if not args.use_libcxx:
18+
llvm_external_projects += ';xpti;xptifw'
19+
1620
llvm_dir = os.path.join(abs_src_dir, "llvm")
1721
sycl_dir = os.path.join(abs_src_dir, "sycl")
1822
spirv_dir = os.path.join(abs_src_dir, "llvm-spirv")
1923
xpti_dir = os.path.join(abs_src_dir, "xpti")
24+
xptifw_dir = os.path.join(abs_src_dir, "xptifw")
2025
libdevice_dir = os.path.join(abs_src_dir, "libdevice")
2126
ocl_header_dir = os.path.join(abs_obj_dir, "OpenCL-Headers")
2227
icd_loader_lib = os.path.join(abs_obj_dir, "OpenCL-ICD-Loader", "build")
2328
llvm_targets_to_build = 'X86'
24-
llvm_enable_projects = 'clang;llvm-spirv;sycl;opencl-aot;xpti;libdevice'
29+
llvm_enable_projects = 'clang;' + llvm_external_projects
2530
libclc_targets_to_build = ''
2631
sycl_build_pi_cuda = 'OFF'
2732
sycl_werror = 'ON'
2833
llvm_enable_assertions = 'ON'
2934
llvm_enable_doxygen = 'OFF'
3035
llvm_enable_sphinx = 'OFF'
3136
llvm_build_shared_libs = 'OFF'
37+
sycl_enable_xpti_tracing = 'OFF' if args.use_libcxx else 'ON'
3238

3339
icd_loader_lib = os.path.join(icd_loader_lib, "libOpenCL.so" if platform.system() == 'Linux' else "OpenCL.lib")
3440

@@ -63,10 +69,12 @@ def do_configure(args):
6369
"-DCMAKE_BUILD_TYPE={}".format(args.build_type),
6470
"-DLLVM_ENABLE_ASSERTIONS={}".format(llvm_enable_assertions),
6571
"-DLLVM_TARGETS_TO_BUILD={}".format(llvm_targets_to_build),
66-
"-DLLVM_EXTERNAL_PROJECTS=sycl;llvm-spirv;opencl-aot;xpti;libdevice",
72+
"-DLLVM_EXTERNAL_PROJECTS={}".format(llvm_external_projects),
6773
"-DLLVM_EXTERNAL_SYCL_SOURCE_DIR={}".format(sycl_dir),
6874
"-DLLVM_EXTERNAL_LLVM_SPIRV_SOURCE_DIR={}".format(spirv_dir),
6975
"-DLLVM_EXTERNAL_XPTI_SOURCE_DIR={}".format(xpti_dir),
76+
"-DXPTI_SOURCE_DIR={}".format(xpti_dir),
77+
"-DLLVM_EXTERNAL_XPTIFW_SOURCE_DIR={}".format(xptifw_dir),
7078
"-DLLVM_EXTERNAL_LIBDEVICE_SOURCE_DIR={}".format(libdevice_dir),
7179
"-DLLVM_ENABLE_PROJECTS={}".format(llvm_enable_projects),
7280
"-DLIBCLC_TARGETS_TO_BUILD={}".format(libclc_targets_to_build),
@@ -78,7 +86,7 @@ def do_configure(args):
7886
"-DLLVM_ENABLE_DOXYGEN={}".format(llvm_enable_doxygen),
7987
"-DLLVM_ENABLE_SPHINX={}".format(llvm_enable_sphinx),
8088
"-DBUILD_SHARED_LIBS={}".format(llvm_build_shared_libs),
81-
"-DSYCL_ENABLE_XPTI_TRACING=ON" # Explicitly turn on XPTI tracing
89+
"-DSYCL_ENABLE_XPTI_TRACING={}".format(sycl_enable_xpti_tracing)
8290
]
8391

8492
if args.system_ocl:
@@ -101,6 +109,15 @@ def do_configure(args):
101109
# Add path to root CMakeLists.txt
102110
cmake_cmd.append(llvm_dir)
103111

112+
if args.use_libcxx:
113+
if not (args.libcxx_include and args.libcxx_library):
114+
sys.exit("Please specify include and library path of libc++ when building sycl "
115+
"runtime with it")
116+
cmake_cmd.extend([
117+
"-DSYCL_USE_LIBCXX=ON",
118+
"-DSYCL_LIBCXX_INCLUDE_PATH={}".format(args.libcxx_include),
119+
"-DSYCL_LIBCXX_LIBRARY_PATH={}".format(args.libcxx_library)])
120+
104121
print("[Cmake Command]: {}".format(" ".join(cmake_cmd)))
105122

106123
try:
@@ -123,7 +140,7 @@ def main():
123140
parser.add_argument("-d", "--base-branch", metavar="BASE_BRANCH", help="pull request base branch")
124141
parser.add_argument("-r", "--pr-number", metavar="PR_NUM", help="pull request number")
125142
parser.add_argument("-w", "--builder-dir", metavar="BUILDER_DIR",
126-
help="builder directory, which is the directory contains source and build directories")
143+
help="builder directory, which is the directory containing source and build directories")
127144
# User options
128145
parser.add_argument("-s", "--src-dir", metavar="SRC_DIR", help="source directory (autodetected by default)")
129146
parser.add_argument("-o", "--obj-dir", metavar="OBJ_DIR", help="build directory. (<src>/build by default)")
@@ -140,7 +157,9 @@ def main():
140157
parser.add_argument("--shared-libs", action='store_true', help="Build shared libraries")
141158
parser.add_argument("--cmake-opt", action='append', help="Additional CMake option not configured via script parameters")
142159
parser.add_argument("--cmake-gen", default="Ninja", help="CMake generator")
143-
160+
parser.add_argument("--use-libcxx", action="store_true", help="build sycl runtime with libcxx")
161+
parser.add_argument("--libcxx-include", metavar="LIBCXX_INCLUDE_PATH", help="libcxx include path")
162+
parser.add_argument("--libcxx-library", metavar="LIBCXX_LIBRARY_PATH", help="libcxx library path")
144163
args = parser.parse_args()
145164

146165
print("args:{}".format(args))

buildbot/dependency.conf

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,17 +4,21 @@ ocl_cpu_rt_ver=2020.11.11.0.04
44
# https://github.com/intel/llvm/releases/download/2020-WW45/win-oclcpuexp-2020.11.11.0.04_rel.zip
55
ocl_cpu_rt_ver_win=2020.11.11.0.04
66
# Same GPU driver supports Level Zero and OpenCL
7-
# https://github.com/intel/compute-runtime/releases/tag/20.52.18783
8-
ocl_gpu_rt_ver=20.52.18783
7+
# https://github.com/intel/compute-runtime/releases/tag/21.03.18857
8+
ocl_gpu_rt_ver=21.03.18857
99
# Same GPU driver supports Level Zero and OpenCL
1010
# https://downloadmirror.intel.com/30066/a08/igfx_win10_100.9030.zip
1111
ocl_gpu_rt_ver_win=27.20.100.9030
1212
intel_sycl_ver=build
13-
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.1-beta10/oneapi-tbb-2021.1-beta10-lin.tgz
14-
tbb_ver=2021.1.053
15-
# Binaries can be built from sources following instructions under:
13+
14+
# TBB binaries can be built from sources following instructions under
1615
# https://github.com/oneapi-src/oneTBB/blob/master/cmake/README.md
16+
# or downloaded using links below:
17+
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.1.1/oneapi-tbb-2021.1.1-lin.tgz
18+
tbb_ver=2021.1.053
19+
# https://github.com/oneapi-src/oneTBB/releases/download/v2021.1.1/oneapi-tbb-2021.1.1-win.zip
1720
tbb_ver_win=2021.1.049
21+
1822
# https://github.com/intel/llvm/releases/download/2020-WW45/fpgaemu-2020.11.11.0.04_rel.tar.gz
1923
ocl_fpga_emu_ver=2020.11.11.0.04
2024
# https://github.com/intel/llvm/releases/download/2020-WW45/win-fpgaemu-2020.11.11.0.04_rel.zip
@@ -26,7 +30,7 @@ ocloc_ver_win=27.20.100.8935
2630
[DRIVER VERSIONS]
2731
cpu_driver_lin=2020.11.11.0.04
2832
cpu_driver_win=2020.11.11.0.04
29-
gpu_driver_lin=20.52.18783
33+
gpu_driver_lin=21.03.18857
3034
gpu_driver_win=27.20.100.9030
3135
fpga_driver_lin=2020.11.11.0.04
3236
fpga_driver_win=2020.11.11.0.04

0 commit comments

Comments
 (0)