Skip to content

Commit 3f6b592

Browse files
author
aidan.belton
committed
Merge remote-tracking branch 'origin/sycl' into aspect_bf16
2 parents 1f1c8c8 + f0df89a commit 3f6b592

File tree

8,708 files changed

+390544
-128410
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,708 files changed

+390544
-128410
lines changed

.github/CODEOWNERS

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ opencl/ @intel/llvm-reviewers-runtime
1818
# OpenCL "offline" compiler
1919
opencl/opencl-aot/ @intel/dpcpp-tools-reviewers
2020

21+
# libclc library
22+
libclc/ @intel/llvm-reviewers-cuda
23+
2124
# Device library
2225
libdevice/ @intel/llvm-reviewers-runtime
2326

.github/workflows/sycl_linux_build_and_test.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,10 @@ on:
5252
type: string
5353
required: false
5454
default: "ghcr.io/intel/llvm/ubuntu2004_build:latest"
55+
cuda_image:
56+
type: string
57+
required: false
58+
default: "ghcr.io/intel/llvm/ubuntu2004_build:latest"
5559
lts_ref:
5660
type: string
5761
required: false

.github/workflows/sycl_nightly.yml

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,3 @@ jobs:
6060
tags: |
6161
ghcr.io/${{ github.repository }}/sycl_ubuntu2004_nightly:no-drivers-${{ github.sha }}
6262
ghcr.io/${{ github.repository }}/sycl_ubuntu2004_nightly:no-drivers
63-
ubuntu2004_build_test_new_pm:
64-
# Default Linux building and LIT testing using new Pass Manager by default
65-
if: github.repository == 'intel/llvm'
66-
uses: ./.github/workflows/sycl_linux_build_and_test.yml
67-
with:
68-
build_cache_root: "/__w/"
69-
build_cache_suffix: new_pm
70-
build_artifact_suffix: new_pm
71-
build_configure_extra_args: '--hip --cuda --cmake-opt=-DLLVM_ENABLE_NEW_PASS_MANAGER=ON'
72-
lts_config: "hip_amdgpu;ocl_x64"

.github/workflows/sycl_precommit.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,4 +41,4 @@ jobs:
4141
build_cache_size: "8G"
4242
build_artifact_suffix: "default"
4343
build_cache_suffix: "default"
44-
lts_config: "hip_amdgpu;ocl_x64;ocl_gen9;l0_gen9;esimd_emu"
44+
lts_config: "hip_amdgpu;ocl_x64;ocl_gen9;l0_gen9;esimd_emu;cuda"
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Update GPU driver
2+
3+
on:
4+
schedule:
5+
- cron: '0 3 * * 2'
6+
workflow_dispatch:
7+
8+
jobs:
9+
update_driver_linux:
10+
runs-on: ubuntu-latest
11+
if: github.repository == 'intel/llvm'
12+
steps:
13+
- uses: actions/checkout@v2
14+
- name: Update dependencies file
15+
run: |
16+
version="$(python3 devops/scripts/update_drivers.py linux)"
17+
echo 'NEW_DRIVER_VERSION='$version >> $GITHUB_ENV
18+
- name: Create Pull Request
19+
env:
20+
BRANCH: ci/update_gpu_driver-linux-${{ env.NEW_DRIVER_VERSION }}
21+
LLVMBOT_TOKEN: ${{ secrets.LLVM_MAIN_SYNC_BBSYCL_TOKEN }}
22+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
23+
run: |
24+
cd $GITHUB_WORKSPACE
25+
# Set fake identity to fulfil git requirements
26+
git config --global user.name "GitHub Actions"
27+
git config --global user.email "[email protected]"
28+
git checkout -B $BRANCH
29+
git add -u
30+
git commit -m "[GHA] Uplift GPU RT version for Linux CI" || exit 0 # exit if commit is empty
31+
git push https://[email protected]/${{ github.repository }} ${BRANCH}
32+
gh pr create --head $BRANCH --title "[GHA] Uplift GPU RT version for Linux CI" --body "Uplift GPU RT version for Linux to $NEW_DRIVER_VERSION"
33+
34+
update_driver_linux_staging:
35+
runs-on: ubuntu-latest
36+
if: github.repository == 'intel/llvm'
37+
steps:
38+
- uses: actions/checkout@v2
39+
- name: Update dependencies file
40+
run: |
41+
version="$(python3 devops/scripts/update_drivers.py linux_staging)"
42+
echo 'NEW_DRIVER_VERSION='$version >> $GITHUB_ENV
43+
- name: Update sycl Branch
44+
env:
45+
BRANCH: ci/update_gpu_driver-linux_staging-${{ env.NEW_DRIVER_VERSION }}
46+
LLVMBOT_TOKEN: ${{ secrets.LLVM_MAIN_SYNC_BBSYCL_TOKEN }}
47+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
run: |
49+
cd $GITHUB_WORKSPACE
50+
# Set fake identity to fulfil git requirements
51+
git config --global user.name "GitHub Actions"
52+
git config --global user.email "[email protected]"
53+
git checkout -B $BRANCH
54+
git add -u
55+
git commit -m "[GHA] Uplift GPU RT version for Nightly Builds" || exit 0 # exit if commit is empty
56+
git push https://[email protected]/${{ github.repository }} ${BRANCH}
57+
gh pr create --head $BRANCH --title "[GHA] Uplift GPU RT version for Nightly Builds" --body "Uplift GPU RT version for Linux to $NEW_DRIVER_VERSION"
58+

.github/workflows/sycl_windows_build_and_test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
IF NOT EXIST D:\github\_work\cache MKDIR D:\github\_work\cache
3939
IF NOT EXIST D:\github\_work\cache\sycl_${{inputs.build_cache_suffix}} MKDIR D:\github\_work\cache\${{inputs.build_cache_suffix}}
4040
python.exe src/buildbot/configure.py -o build ^
41-
--ci-default ^
41+
--ci-defaults ^
4242
--cmake-opt="-DCMAKE_C_COMPILER=cl" ^
4343
--cmake-opt="-DCMAKE_CXX_COMPILER=cl" ^
4444
--cmake-opt="-DCMAKE_INSTALL_PREFIX=%GITHUB_WORKSPACE%\install" ^

bolt/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@ Once you have `perf.fdata` ready, you can use it for optimizations with
180180
BOLT. Assuming your environment is setup to include the right path, execute
181181
`llvm-bolt`:
182182
```
183-
$ llvm-bolt <executable> -o <executable>.bolt -data=perf.fdata -reorder-blocks=cache+ -reorder-functions=hfsort -split-functions=2 -split-all-cold -split-eh -dyno-stats
183+
$ llvm-bolt <executable> -o <executable>.bolt -data=perf.fdata -reorder-blocks=ext-tsp -reorder-functions=hfsort -split-functions=2 -split-all-cold -split-eh -dyno-stats
184184
```
185185

186186
If you do need an updated debug info, then add `-update-debug-sections` option

bolt/docs/OptimizingClang.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ Notice that we are passing `clang-7` to `perf2bolt` which is the real binary tha
6464
the generated profile:
6565
```bash
6666
$ llvm-bolt $CPATH/clang-7 -o $CPATH/clang-7.bolt -b clang-7.yaml \
67-
-reorder-blocks=cache+ -reorder-functions=hfsort+ -split-functions=3 \
67+
-reorder-blocks=ext-tsp -reorder-functions=hfsort+ -split-functions=3 \
6868
-split-all-cold -dyno-stats -icf=1 -use-gnu-stack
6969
```
7070
The output will look similar to the one below:

bolt/docs/doxygen.cfg.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ PROJECT_NAME = "BOLT"
3838
# could be handy for archiving the generated documentation or if some version
3939
# control system is used.
4040

41-
PROJECT_NUMBER =
41+
PROJECT_NUMBER = @PACKAGE_VERSION@
4242

4343
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4444
# for a project that appears at the top of each page and should give viewer a

bolt/include/bolt/Core/BinaryContext.h

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,13 @@ inline raw_ostream &operator<<(raw_ostream &OS, const SegmentInfo &SegInfo) {
8282
return OS;
8383
}
8484

85+
// AArch64-specific symbol markers used to delimit code/data in .text.
86+
enum class MarkerSymType : char {
87+
NONE = 0,
88+
CODE,
89+
DATA,
90+
};
91+
8592
enum class MemoryContentsType : char {
8693
UNKNOWN = 0, /// Unknown contents.
8794
POSSIBLE_JUMP_TABLE, /// Possibly a non-PIC jump table.
@@ -549,6 +556,9 @@ class BinaryContext {
549556

550557
std::unique_ptr<MCDisassembler> DisAsm;
551558

559+
/// Symbolic disassembler.
560+
std::unique_ptr<MCDisassembler> SymbolicDisAsm;
561+
552562
std::unique_ptr<MCAsmBackend> MAB;
553563

554564
/// Indicates if relocations are available for usage.
@@ -662,6 +672,11 @@ class BinaryContext {
662672
TheTriple->getArch() == llvm::Triple::x86_64;
663673
}
664674

675+
// AArch64-specific functions to check if symbol is used to delimit
676+
// code/data in .text. Code is marked by $x, data by $d.
677+
MarkerSymType getMarkerType(const SymbolRef &Symbol) const;
678+
bool isMarker(const SymbolRef &Symbol) const;
679+
665680
/// Iterate over all BinaryData.
666681
iterator_range<binary_data_const_iterator> getBinaryData() const {
667682
return make_range(BinaryDataMap.begin(), BinaryDataMap.end());
@@ -1187,18 +1202,20 @@ class BinaryContext {
11871202
uint64_t Offset = 0,
11881203
const BinaryFunction *Function = nullptr,
11891204
bool PrintMCInst = false, bool PrintMemData = false,
1190-
bool PrintRelocations = false) const;
1205+
bool PrintRelocations = false,
1206+
StringRef Endl = "\n") const;
11911207

11921208
/// Print a range of instructions.
11931209
template <typename Itr>
11941210
uint64_t
11951211
printInstructions(raw_ostream &OS, Itr Begin, Itr End, uint64_t Offset = 0,
11961212
const BinaryFunction *Function = nullptr,
11971213
bool PrintMCInst = false, bool PrintMemData = false,
1198-
bool PrintRelocations = false) const {
1214+
bool PrintRelocations = false,
1215+
StringRef Endl = "\n") const {
11991216
while (Begin != End) {
12001217
printInstruction(OS, *Begin, Offset, Function, PrintMCInst, PrintMemData,
1201-
PrintRelocations);
1218+
PrintRelocations, Endl);
12021219
Offset += computeCodeSize(Begin, Begin + 1);
12031220
++Begin;
12041221
}

0 commit comments

Comments
 (0)