Skip to content

Commit ac9bf99

Browse files
SC llvm teamSC llvm team
SC llvm team
authored and
SC llvm team
committed
Merged main:ef112833e11e94ea049f98bec4a29b4fe96a25dd into amd-gfx:d621799ca22b
Local branch amd-gfx d621799 Merged main:0d87e2577914a6384f4ad5952b8fa9b0d8e48da8 into amd-gfx:a22e10e4323c Remote branch main ef11283 [MLIR][SCF] Add support for pipelining dynamic loops (llvm#74350)
2 parents d621799 + ef11283 commit ac9bf99

File tree

3,085 files changed

+147625
-46128
lines changed

Some content is hidden

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

3,085 files changed

+147625
-46128
lines changed

Diff for: .git-blame-ignore-revs

+6
Original file line numberDiff line numberDiff line change
@@ -64,3 +64,9 @@ f6d557ee34b6bbdb1dc32f29e34b4a4a8ad35e81
6464

6565
# [libc++][NFC] clang-format <shared_mutex>
6666
2d7eb9c9ea1a146412a83603d5c0c6339a5d8284
67+
68+
# [libc++] Rename _LIBCPP_INLINE_VISIBILITY to _LIBCPP_HIDE_FROM_ABI
69+
4c198542226223f6a5c5511a1f89b37d15ee10b9
70+
71+
# [libc++] Replace uses of _VSTD:: by std:: (#74331)
72+
77a00c0d546cd4aa8311b5b9031ae9ea8cdb050c

Diff for: .github/CODEOWNERS

+31-15
Original file line numberDiff line numberDiff line change
@@ -33,26 +33,42 @@
3333

3434
/lldb/ @JDevlieghere
3535

36-
/mlir/include/mlir/Interfaces/TilingInterface.* @MaheshRavishankar
36+
# Linalg in MLIR.
37+
/mlir/include/mlir/Dialect/Linalg @dcaballe @nicolasvasilache
38+
/mlir/lib/Dialect/Linalg @dcaballe @nicolasvasilache
3739

38-
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar
39-
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @MaheshRavishankar
40-
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar
41-
/mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp @MaheshRavishankar
42-
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @MaheshRavishankar
43-
/mlir/lib/Interfaces/TilingInterface.* @MaheshRavishankar
40+
# Vector in MLIR.
41+
/mlir/**/*AMX* @dcaballe
42+
/mlir/**/*Neon* @banach-space @dcaballe @nicolasvasilache
43+
/mlir/**/*SME* @banach-space @dcaballe @nicolasvasilache
44+
/mlir/**/*SVE* @banach-space @dcaballe @nicolasvasilache
45+
/mlir/**/*VectorInterfaces* @dcaballe @nicolasvasilache
46+
/mlir/**/*VectorToSCF* @banach-space @dcaballe @nicolasvasilache
47+
/mlir/**/*VectorToLLVM* @banach-space @dcaballe @nicolasvasilache
48+
/mlir/**/*X86Vector* @dcaballe @nicolasvasilache
49+
/mlir/include/mlir/Dialect/Vector @dcaballe @nicolasvasilache
50+
/mlir/lib/Dialect/Vector @dcaballe @nicolasvasilache
51+
52+
/mlir/include/mlir/Interfaces/TilingInterface.* @MaheshRavishankar @nicolasvasilache
53+
54+
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar @nicolasvasilache
55+
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @MaheshRavishankar @nicolasvasilache
56+
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar @nicolasvasilache
57+
/mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
58+
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
59+
/mlir/lib/Interfaces/TilingInterface.* @MaheshRavishankar @nicolasvasilache
4460

4561
/mlir/**/*EmulateNarrowType* @hanhanW
46-
/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp @hanhanW
47-
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @hanhanW
48-
/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp @hanhanW
49-
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @hanhanW
50-
/mlir/lib/Dialect/Tensor/Transforms/FoldIntoPackAndUnpackPatterns.cpp @hanhanW
51-
/mlir/lib/Dialect/Vector/Transforms/* @hanhanW
62+
/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp @hanhanW @nicolasvasilache
63+
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @hanhanW @nicolasvasilache
64+
/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp @hanhanW @nicolasvasilache
65+
/mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp @hanhanW @nicolasvasilache
66+
/mlir/lib/Dialect/Tensor/Transforms/FoldIntoPackAndUnpackPatterns.cpp @hanhanW @nicolasvasilache
67+
/mlir/lib/Dialect/Vector/Transforms/* @hanhanW @nicolasvasilache
5268

5369
# Transform Dialect in MLIR.
54-
/mlir/include/mlir/Dialect/Transform/* @ftynse
55-
/mlir/lib/Dialect/Transform/* @ftynse
70+
/mlir/include/mlir/Dialect/Transform/* @ftynse @nicolasvasilache
71+
/mlir/lib/Dialect/Transform/* @ftynse @nicolasvasilache
5672

5773
# SPIR-V in MLIR.
5874
/mlir/**/SPIRV/ @antiagainst @kuhar

Diff for: .github/workflows/libcxx-build-and-test.yaml

+11-14
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,10 @@ env:
5050
jobs:
5151
stage1:
5252
if: github.repository_owner == 'llvm'
53-
runs-on:
54-
group: libcxx-runners-8
53+
runs-on: libcxx-runners-8-set
5554
continue-on-error: false
5655
strategy:
57-
fail-fast: true
56+
fail-fast: false
5857
matrix:
5958
config: [
6059
'generic-cxx03',
@@ -89,12 +88,11 @@ jobs:
8988
**/crash_diagnostics/*
9089
stage2:
9190
if: github.repository_owner == 'llvm'
92-
runs-on:
93-
group: libcxx-runners-8
91+
runs-on: libcxx-runners-8-set
9492
needs: [ stage1 ]
9593
continue-on-error: false
9694
strategy:
97-
fail-fast: true
95+
fail-fast: false
9896
matrix:
9997
config: [
10098
'generic-cxx11',
@@ -169,27 +167,26 @@ jobs:
169167
'benchmarks',
170168
'bootstrapping-build'
171169
]
172-
machine: [ 'libcxx-runners-8' ]
170+
machine: [ 'libcxx-runners-8-set' ]
173171
std_modules: [ 'OFF' ]
174172
include:
175173
- config: 'generic-cxx26'
176-
machine: libcxx-runners-8
174+
machine: libcxx-runners-8-set
177175
std_modules: 'ON'
178176
- config: 'generic-asan'
179-
machine: libcxx-runners-8
177+
machine: libcxx-runners-8-set
180178
std_modules: 'OFF'
181179
- config: 'generic-tsan'
182-
machine: libcxx-runners-8
180+
machine: libcxx-runners-8-set
183181
std_modules: 'OFF'
184182
- config: 'generic-ubsan'
185-
machine: libcxx-runners-8
183+
machine: libcxx-runners-8-set
186184
std_modules: 'OFF'
187185
# Use a larger machine for MSAN to avoid timeout and memory allocation issues.
188186
- config: 'generic-msan'
189-
machine: libcxx-runners-32
187+
machine: libcxx-runners-32-set
190188
std_modules: 'OFF'
191-
runs-on:
192-
group: ${{ matrix.machine }}
189+
runs-on: ${{ matrix.machine }}
193190
steps:
194191
- uses: actions/checkout@v4
195192
- name: ${{ matrix.config }}

Diff for: .github/workflows/llvm-project-tests.yml

+20-9
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ on:
1010
required: false
1111
projects:
1212
required: false
13+
extra_cmake_args:
14+
required: false
15+
os_list:
16+
required: false
17+
default: '["ubuntu-latest", "windows-2019", "macOS-11"]'
1318
workflow_call:
1419
inputs:
1520
build_target:
@@ -20,6 +25,19 @@ on:
2025
required: true
2126
type: string
2227

28+
extra_cmake_args:
29+
required: false
30+
type: string
31+
32+
os_list:
33+
required: false
34+
type: string
35+
# Use windows-2019 due to:
36+
# https://developercommunity.visualstudio.com/t/Prev-Issue---with-__assume-isnan-/1597317
37+
# We're using a specific version of macOS due to:
38+
# https://github.com/actions/virtual-environments/issues/5900
39+
default: '["ubuntu-latest", "windows-2019", "macOS-11"]'
40+
2341
concurrency:
2442
# Skip intermediate builds: always.
2543
# Cancel intermediate builds: only if it is a pull request build.
@@ -35,14 +53,7 @@ jobs:
3553
strategy:
3654
fail-fast: false
3755
matrix:
38-
os:
39-
- ubuntu-latest
40-
# Use windows-2019 due to:
41-
# https://developercommunity.visualstudio.com/t/Prev-Issue---with-__assume-isnan-/1597317
42-
- windows-2019
43-
# We're using a specific version of macOS due to:
44-
# https://github.com/actions/virtual-environments/issues/5900
45-
- macOS-11
56+
os: ${{ fromJSON(inputs.os_list) }}
4657
steps:
4758
- name: Setup Windows
4859
if: startsWith(matrix.os, 'windows')
@@ -85,7 +96,7 @@ jobs:
8596
# This should be a no-op for non-mac OSes
8697
PKG_CONFIG_PATH: /usr/local/Homebrew/Library/Homebrew/os/mac/pkgconfig//12
8798
with:
88-
cmake_args: '-GNinja -DLLVM_ENABLE_PROJECTS="${{ inputs.projects }}" -DCMAKE_BUILD_TYPE=Release -DLLDB_INCLUDE_TESTS=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache'
99+
cmake_args: '-GNinja -DLLVM_ENABLE_PROJECTS="${{ inputs.projects }}" -DCMAKE_BUILD_TYPE=Release -DLLDB_INCLUDE_TESTS=OFF -DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache ${{ inputs.extra_cmake_args }}'
89100
build_target: '${{ inputs.build_target }}'
90101

91102
- name: Build and Test libclc

Diff for: .github/workflows/new-prs.yml

+29-2
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,43 @@ on:
1515
- synchronize
1616

1717
jobs:
18-
automate-prs-labels:
18+
greeter:
19+
runs-on: ubuntu-latest
1920
permissions:
2021
pull-requests: write
22+
# Only comment on PRs that have been opened for the first time, by someone
23+
# new to LLVM or to GitHub as a whole.
24+
if: >-
25+
(github.repository == 'llvm/llvm-project') &&
26+
(github.event.action == 'opened') &&
27+
(github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR' ||
28+
github.event.pull_request.author_association == 'FIRST_TIMER')
29+
steps:
30+
- name: Setup Automation Script
31+
run: |
32+
curl -O -L --fail https://raw.githubusercontent.com/"$GITHUB_REPOSITORY"/main/llvm/utils/git/github-automation.py
33+
curl -O -L --fail https://raw.githubusercontent.com/"$GITHUB_REPOSITORY"/main/llvm/utils/git/requirements.txt
34+
chmod a+x github-automation.py
35+
pip install -r requirements.txt
36+
37+
- name: Greet Author
38+
run: |
39+
./github-automation.py \
40+
--token '${{ secrets.GITHUB_TOKEN }}' \
41+
pr-greeter \
42+
--issue-number "${{ github.event.pull_request.number }}"
43+
44+
automate-prs-labels:
45+
# Greet first so that only the author gets that notification.
46+
needs: greeter
2147
runs-on: ubuntu-latest
2248
# Ignore PRs with more than 10 commits. Pull requests with a lot of
2349
# commits tend to be accidents usually when someone made a mistake while trying
2450
# to rebase. We want to ignore these pull requests to avoid excessive
2551
# notifications.
52+
# always() means that even if greeter is skipped, this job will run.
2653
if: >
27-
github.repository == 'llvm/llvm-project' &&
54+
always() && github.repository == 'llvm/llvm-project' &&
2855
github.event.pull_request.draft == false &&
2956
github.event.pull_request.commits < 10
3057
steps:

Diff for: .github/workflows/spirv-tests.yml

+29
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: SPIR-V Tests
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
workflow_dispatch:
8+
pull_request:
9+
paths:
10+
- 'llvm/lib/Target/SPIRV/**'
11+
- 'llvm/test/CodeGen/SPIRV/**'
12+
- '.github/workflows/spirv-tests.yml'
13+
14+
concurrency:
15+
# Skip intermediate builds: always.
16+
# Cancel intermediate builds: only if it is a pull request build.
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: ${{ startsWith(github.ref, 'refs/pull/') }}
19+
20+
jobs:
21+
check_spirv:
22+
if: github.repository_owner == 'llvm'
23+
name: Test SPIR-V
24+
uses: ./.github/workflows/llvm-project-tests.yml
25+
with:
26+
build_target: check-llvm-codegen-spirv
27+
projects:
28+
extra_cmake_args: '-DLLVM_TARGETS_TO_BUILD="" -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="SPIRV"'
29+
os_list: '["ubuntu-latest"]'

Diff for: .mailmap

+6
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424

2525
<compnerd@compnerd.org> <abdulras@fb.com>
2626
<compnerd@compnerd.org> <abdulras@google.com>
27+
<compnerd@compnerd.org> <abdulras@thebrowser.company>
2728
<git@xen0n.name> <xen0n@gentoo.org>
2829
<hans@hanshq.net> <hans@chromium.org>
2930
<i@maskray.me> <maskray@google.com>
@@ -32,6 +33,8 @@
3233
<qiucofan@cn.ibm.com> <qiucf@cn.ibm.com>
3334
<rnk@google.com> <reid@kleckner.net>
3435
<thakis@chromium.org> <nicolasweber@gmx.de>
36+
Jianjian GUAN <jacquesguan@me.com>
37+
Jianjian GUAN <jacquesguan@me.com> <Jianjian.Guan@streamcomputing.com>
3538
Jon Roelofs <jonathan_roelofs@apple.com> <jonathan@codesourcery.com>
3639
Jon Roelofs <jonathan_roelofs@apple.com> <jroelofs@jroelofs.com>
3740
Jonathan Thackray <jonathan.thackray@arm.com> <jthackray@users.noreply.github.com>
@@ -42,3 +45,6 @@ Med Ismail Bennani <ismail@bennani.ma> <medismail.bennani@gmail.com>
4245
Ramkumar Ramachandra <r@artagnon.com> <artagnon@gmail.com>
4346
Saleem Abdulrasool <compnerd@compnerd.org>
4447
Tommy Chiang <ty1208chiang@gmail.com> <oToToT@users.noreply.github.com>
48+
Wang Pengcheng <wangpengcheng.pp@bytedance.com>
49+
Wang Pengcheng <wangpengcheng.pp@bytedance.com> <137158460+wangpc-pp@users.noreply.github.com>
50+
Wang Pengcheng <wangpengcheng.pp@bytedance.com> <pc.wang@linux.alibaba.com>

Diff for: bolt/lib/Core/Exceptions.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,8 @@ void BinaryFunction::parseLSDA(ArrayRef<uint8_t> LSDASectionData,
108108
DWARFDataExtractor Data(
109109
StringRef(reinterpret_cast<const char *>(LSDASectionData.data()),
110110
LSDASectionData.size()),
111-
BC.DwCtx->getDWARFObj().isLittleEndian(), 8);
111+
BC.DwCtx->getDWARFObj().isLittleEndian(),
112+
BC.DwCtx->getDWARFObj().getAddressSize());
112113
uint64_t Offset = getLSDAAddress() - LSDASectionAddress;
113114
assert(Data.isValidOffset(Offset) && "wrong LSDA address");
114115

Diff for: bolt/lib/Passes/IndirectCallPromotion.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,7 @@ static cl::opt<bool> ICPPeelForInline(
158158

159159
} // namespace opts
160160

161+
#ifndef NDEBUG
161162
static bool verifyProfile(std::map<uint64_t, BinaryFunction> &BFs) {
162163
bool IsValid = true;
163164
for (auto &BFI : BFs) {
@@ -182,6 +183,7 @@ static bool verifyProfile(std::map<uint64_t, BinaryFunction> &BFs) {
182183
}
183184
return IsValid;
184185
}
186+
#endif
185187

186188
namespace llvm {
187189
namespace bolt {
@@ -1467,7 +1469,6 @@ void IndirectCallPromotion::runOnFunctions(BinaryContext &BC) {
14671469
std::max<uint64_t>(TotalIndexBasedCandidates, 1))
14681470
<< "%\n";
14691471

1470-
(void)verifyProfile;
14711472
#ifndef NDEBUG
14721473
verifyProfile(BFs);
14731474
#endif

Diff for: bolt/lib/Passes/LongJmp.cpp

+16-3
Original file line numberDiff line numberDiff line change
@@ -202,10 +202,23 @@ LongJmpPass::replaceTargetWithStub(BinaryBasicBlock &BB, MCInst &Inst,
202202
}
203203
} else if (LocalStubsIter != Stubs.end() &&
204204
LocalStubsIter->second.count(TgtBB)) {
205-
// If we are replacing a local stub (because it is now out of range),
206-
// use its target instead of creating a stub to jump to another stub
205+
// The TgtBB and TgtSym now are the local out-of-range stub and its label.
206+
// So, we are attempting to restore BB to its previous state without using
207+
// this stub.
207208
TgtSym = BC.MIB->getTargetSymbol(*TgtBB->begin());
208-
TgtBB = BB.getSuccessor(TgtSym, BI);
209+
assert(TgtSym &&
210+
"First instruction is expected to contain a target symbol.");
211+
BinaryBasicBlock *TgtBBSucc = TgtBB->getSuccessor(TgtSym, BI);
212+
213+
// TgtBB might have no successor. e.g. a stub for a function call.
214+
if (TgtBBSucc) {
215+
BB.replaceSuccessor(TgtBB, TgtBBSucc, BI.Count, BI.MispredictedCount);
216+
assert(TgtBB->getExecutionCount() >= BI.Count &&
217+
"At least equal or greater than the branch count.");
218+
TgtBB->setExecutionCount(TgtBB->getExecutionCount() - BI.Count);
219+
}
220+
221+
TgtBB = TgtBBSucc;
209222
}
210223

211224
BinaryBasicBlock *StubBB = lookupLocalStub(BB, Inst, TgtSym, DotAddress);

Diff for: bolt/lib/Passes/ReorderAlgorithm.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
#include <random>
2121
#include <stack>
2222

23-
#undef DEBUG_TYPE
23+
#undef DEBUG_TYPE
2424
#define DEBUG_TYPE "bolt"
2525

2626
using namespace llvm;
@@ -425,7 +425,7 @@ void TSPReorderAlgorithm::reorderBasicBlocks(BinaryFunction &BF,
425425
}
426426

427427
std::vector<std::vector<int64_t>> DP;
428-
DP.resize(1 << N);
428+
DP.resize(static_cast<size_t>(1) << N);
429429
for (std::vector<int64_t> &Elmt : DP)
430430
Elmt.resize(N, -1);
431431

0 commit comments

Comments
 (0)