Skip to content

Commit 1ecdf31

Browse files
Merge branch 'main' into Mask-Instr
2 parents fed67f7 + d1f3a92 commit 1ecdf31

File tree

10,467 files changed

+512167
-244173
lines changed

Some content is hidden

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

10,467 files changed

+512167
-244173
lines changed

.git-blame-ignore-revs

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,3 +84,6 @@ b9079baaddfed5e604fbfaa1d81a7a1c38e78c26
8484

8585
# [libc++][NFC] Run clang-format on libcxx/include again (#95874)
8686
e2c2ffbe7a1b5d9e32a2ce64279475b50c4cba5b
87+
88+
# [lldb][nfc] Deindent ProcessGDBRemote::SetThreadStopInfo by two levels
89+
b32931c5b32eb0d2cf37d688b34f8548c9674c19

.github/CODEOWNERS

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -67,11 +67,11 @@ clang/test/AST/Interp/ @tbaederr
6767
/mlir/include/mlir/Dialect/Linalg @dcaballe @nicolasvasilache @rengolin
6868
/mlir/lib/Dialect/Linalg @dcaballe @nicolasvasilache @rengolin
6969
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar @nicolasvasilache
70-
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @MaheshRavishankar @nicolasvasilache
70+
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @dcaballe @MaheshRavishankar @nicolasvasilache
7171
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar @nicolasvasilache
7272
/mlir/lib/Dialect/Linalg/Transforms/DataLayoutPropagation.cpp @hanhanW @nicolasvasilache
73-
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @hanhanW @nicolasvasilache
74-
/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp @hanhanW @nicolasvasilache
73+
/mlir/lib/Dialect/Linalg/Transforms/Transforms.cpp @dcaballe @hanhanW @nicolasvasilache
74+
/mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp @banach-space @dcaballe @hanhanW @nicolasvasilache
7575

7676
# MemRef Dialect in MLIR.
7777
/mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
@@ -85,10 +85,11 @@ clang/test/AST/Interp/ @tbaederr
8585
/mlir/**/*VectorToSCF* @banach-space @dcaballe @matthias-springer @nicolasvasilache
8686
/mlir/**/*VectorToLLVM* @banach-space @dcaballe @nicolasvasilache
8787
/mlir/**/*X86Vector* @aartbik @dcaballe @nicolasvasilache
88-
/mlir/include/mlir/Dialect/Vector @dcaballe @nicolasvasilache
89-
/mlir/lib/Dialect/Vector @dcaballe @nicolasvasilache
90-
/mlir/lib/Dialect/Vector/Transforms/* @hanhanW @nicolasvasilache
91-
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
88+
/mlir/include/mlir/Dialect/Vector @banach-space @dcaballe @nicolasvasilache
89+
/mlir/include/mlir/Dialect/Vector/IR @kuhar
90+
/mlir/lib/Dialect/Vector @banach-space @dcaballe @nicolasvasilache
91+
/mlir/lib/Dialect/Vector/Transforms/* @banach-space @dcaballe @hanhanW @nicolasvasilache
92+
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @banach-space @dcaballe @MaheshRavishankar @nicolasvasilache
9293
/mlir/**/*EmulateNarrowType* @dcaballe @hanhanW
9394

9495
# Presburger library in MLIR

.github/new-prs-labeler.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -775,6 +775,29 @@ backend:AArch64:
775775
- clang/include/clang/Sema/SemaARM.h
776776
- clang/lib/Sema/SemaARM.cpp
777777

778+
backend:Hexagon:
779+
- clang/include/clang/Basic/BuiltinsHexagon*.def
780+
- clang/include/clang/Sema/SemaHexagon.h
781+
- clang/lib/Basic/Targets/Hexagon.*
782+
- clang/lib/CodeGen/Targets/Hexagon.cpp
783+
- clang/lib/Driver/ToolChains/Hexagon.*
784+
- clang/lib/Sema/SemaHexagon.cpp
785+
- lld/ELF/Arch/Hexagon.cpp
786+
- lldb/source/Plugins/ABI/Hexagon/**
787+
- lldb/source/Plugins/DynamicLoader/Hexagon-DYLD/**
788+
- llvm/include/llvm/BinaryFormat/ELFRelocs/Hexagon.def
789+
- llvm/include/llvm/IR/IntrinsicsHexagon*
790+
- llvm/include/llvm/Support/Hexagon*
791+
- llvm/lib/Support/Hexagon*
792+
- llvm/lib/Target/Hexagon/**
793+
- llvm/test/CodeGen/Hexagon/**
794+
- llvm/test/CodeGen/*/Hexagon/**
795+
- llvm/test/DebugInfo/*/Hexagon/**
796+
- llvm/test/Transforms/*/Hexagon
797+
- llvm/test/MC/Disassembler/Hexagon/**
798+
- llvm/test/MC/Hexagon/**
799+
- llvm/test/tools/llvm-objdump/ELF/Hexagon/**
800+
778801
backend:loongarch:
779802
- llvm/include/llvm/IR/IntrinsicsLoongArch.td
780803
- llvm/test/MC/LoongArch/**

.github/workflows/issue-write.yml

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,27 @@ jobs:
1818
permissions:
1919
pull-requests: write
2020
if: >
21-
github.event.workflow_run.event == 'pull_request'
21+
github.event.workflow_run.event == 'pull_request' &&
22+
(
23+
github.event.workflow_run.conclusion == 'success' ||
24+
github.event.workflow_run.conclusion == 'failure'
25+
)
2226
steps:
27+
- name: Fetch Sources
28+
uses: actions/checkout@v4
29+
with:
30+
sparse-checkout: |
31+
.github/workflows/unprivileged-download-artifact/action.yml
32+
sparse-checkout-cone-mode: false
2333
- name: 'Download artifact'
24-
uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1
34+
uses: ./.github/workflows/unprivileged-download-artifact
35+
id: download-artifact
2536
with:
26-
github-token: ${{ secrets.ISSUE_WRITE_DOWNLOAD_ARTIFACT }}
2737
run-id: ${{ github.event.workflow_run.id }}
28-
name: workflow-args
38+
artifact-name: workflow-args
2939

3040
- name: 'Comment on PR'
41+
if: steps.download-artifact.outputs.artifact-id != ''
3142
uses: actions/github-script@v3
3243
with:
3344
github-token: ${{ secrets.GITHUB_TOKEN }}
@@ -140,5 +151,7 @@ jobs:
140151
});
141152
142153
- name: Dump comments file
143-
if: always()
154+
if: >-
155+
always() &&
156+
steps.download-artifact.outputs.artifact-id != ''
144157
run: cat comments

.github/workflows/libcxx-build-and-test.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,8 @@ jobs:
6363
cxx: [ 'clang++-19' ]
6464
include:
6565
- config: 'generic-gcc'
66-
cc: 'gcc-13'
67-
cxx: 'g++-13'
66+
cc: 'gcc-14'
67+
cxx: 'g++-14'
6868
steps:
6969
- uses: actions/checkout@v4
7070
- name: ${{ matrix.config }}.${{ matrix.cxx }}
@@ -101,8 +101,8 @@ jobs:
101101
cxx: [ 'clang++-19' ]
102102
include:
103103
- config: 'generic-gcc-cxx11'
104-
cc: 'gcc-13'
105-
cxx: 'g++-13'
104+
cc: 'gcc-14'
105+
cxx: 'g++-14'
106106
- config: 'generic-cxx23'
107107
cc: 'clang-17'
108108
cxx: 'clang++-17'
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
import github
2+
import sys
3+
4+
def main():
5+
token = sys.argv[1]
6+
7+
gh = github.Github(login_or_token=token)
8+
repo = gh.get_repo("llvm/llvm-project")
9+
10+
uploaders = set(
11+
[
12+
"DimitryAndric",
13+
"stefanp-ibm",
14+
"lei137",
15+
"omjavaid",
16+
"nicolerabjohn",
17+
"amy-kwan",
18+
"mandlebug",
19+
"zmodem",
20+
"androm3da",
21+
"tru",
22+
"rovka",
23+
"rorth",
24+
"quinnlp",
25+
"kamaub",
26+
"abrisco",
27+
"jakeegan",
28+
"maryammo",
29+
"tstellar",
30+
"github-actions[bot]",
31+
]
32+
)
33+
34+
for release in repo.get_releases():
35+
print("Release:", release.title)
36+
for asset in release.get_assets():
37+
created_at = asset.created_at
38+
updated_at = (
39+
"" if asset.created_at == asset.updated_at else asset.updated_at
40+
)
41+
print(
42+
f"{asset.name} : {asset.uploader.login} [{created_at} {updated_at}] ( {asset.download_count} )"
43+
)
44+
if asset.uploader.login not in uploaders:
45+
with open('comment', 'w') as file:
46+
file.write(f'@{asset.uploader.login} is not a valid uploader.')
47+
sys.exit(1)
48+
49+
50+
if __name__ == "__main__":
51+
main()
Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
name: Release Asset Audit
2+
3+
on:
4+
workflow_dispatch:
5+
release:
6+
schedule:
7+
# * is a special character in YAML so you have to quote this string
8+
# Run once an hour
9+
- cron: '5 * * * *'
10+
11+
pull_request:
12+
paths:
13+
- ".github/workflows/release-asset-audit.py"
14+
- ".github/workflows/release-asset-audit.yml"
15+
16+
permissions:
17+
contents: read # Default everything to read-only
18+
19+
jobs:
20+
audit:
21+
name: "Release Asset Audit"
22+
runs-on: ubuntu-22.04
23+
if: github.repository == 'llvm/llvm-project'
24+
steps:
25+
- uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 #v4.1.6
26+
- name: "Run Audit Script"
27+
env:
28+
GITHUB_TOKEN: ${{ github.token }}
29+
run: |
30+
pip install --require-hashes -r ./llvm/utils/git/requirements.txt
31+
python3 ./.github/workflows/release-asset-audit.py $GITHUB_TOKEN
32+
- name: "File Issue"
33+
if: >-
34+
github.event_name != 'pull_request' &&
35+
failure()
36+
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea #v7.0.1
37+
with:
38+
github-token: ${{ secrets.ISSUE_SUBSCRIBER_TOKEN }}
39+
script: |
40+
var fs = require('fs');
41+
var body = ''
42+
if (fs.existsSync('./comment')) {
43+
body = fs.readFileSync('./comment') + "\n\n";
44+
}
45+
body = body + `\n\nhttps://github.com/${context.repo.owner}/${context.repo.repo}/actions/runs/${context.runId}`
46+
47+
const issue = await github.rest.issues.create({
48+
owner: context.repo.owner,
49+
repo: context.repo.repo,
50+
title: "Release Asset Audit Failed",
51+
labels: ['infrastructure'],
52+
body: body
53+
});
54+
console.log(issue);
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
name: Release Binaries All
2+
3+
permissions:
4+
contents: read # Default everything to read-only
5+
6+
on:
7+
workflow_dispatch:
8+
inputs:
9+
release-version:
10+
description: 'Release Version'
11+
required: true
12+
type: string
13+
upload:
14+
description: 'Upload binaries to the release page'
15+
required: true
16+
default: false
17+
type: boolean
18+
19+
workflow_call:
20+
inputs:
21+
release-version:
22+
description: 'Release Version'
23+
required: true
24+
type: string
25+
upload:
26+
description: 'Upload binaries to the release page'
27+
required: true
28+
default: false
29+
type: boolean
30+
31+
pull_request:
32+
types:
33+
- opened
34+
- synchronize
35+
- reopened
36+
# When a PR is closed, we still start this workflow, but then skip
37+
# all the jobs, which makes it effectively a no-op. The reason to
38+
# do this is that it allows us to take advantage of concurrency groups
39+
# to cancel in progress CI jobs whenever the PR is closed.
40+
- closed
41+
paths:
42+
- '.github/workflows/release-binaries-all.yml'
43+
- '.github/workflows/release-binaries.yml'
44+
- '.github/workflows/release-binaries-setup-stage/*'
45+
- '.github/workflows/release-binaries-save-stage/*'
46+
47+
concurrency:
48+
group: ${{ github.workflow }}-${{ github.event.pull_request.number || 'dispatch' }}
49+
cancel-in-progress: True
50+
51+
jobs:
52+
setup-variables:
53+
if: >-
54+
(github.event_name != 'pull_request' || github.event.action != 'closed')
55+
runs-on: ubuntu-22.04
56+
outputs:
57+
release-version: ${{ steps.vars.outputs.release-version }}
58+
upload: ${{ steps.vars.outputs.upload }}
59+
steps:
60+
- shell: bash
61+
id: vars
62+
run: |
63+
upload="${{ inputs.upload }}"
64+
release_version="${{ inputs.release-version }}"
65+
if [ "${{ github.event_name }}" = "pull_request" ]; then
66+
upload="false"
67+
release_version=""
68+
fi
69+
echo "release-version=$release_version" >> "$GITHUB_OUTPUT"
70+
echo "upload=$upload" >> "$GITHUB_OUTPUT"
71+
72+
release-binaries-all:
73+
name: Build Release Binaries
74+
needs:
75+
- setup-variables
76+
permissions:
77+
contents: write # For release uploads
78+
id-token: write # For artifact attestations
79+
attestations: write # For artifact attestations
80+
strategy:
81+
fail-fast: false
82+
matrix:
83+
runs-on:
84+
- ubuntu-22.04
85+
- windows-2022
86+
- macos-13
87+
- macos-14
88+
89+
uses: ./.github/workflows/release-binaries.yml
90+
with:
91+
release-version: "${{ needs.setup-variables.outputs.release-version }}"
92+
upload: ${{ needs.setup-variables.outputs.upload == 'true'}}
93+
runs-on: "${{ matrix.runs-on }}"
94+
Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Save Stage
2+
description: >-
3+
Upload the source and binary directories from a build stage so that they
4+
can be re-used in the next stage. This action is used to the release
5+
binaries workflow into multiple stages to avoid the 6 hour timeout on
6+
the GitHub hosted runners.
7+
inputs:
8+
build-prefix:
9+
description: "Directory containing the build directory."
10+
required: true
11+
type: 'string'
12+
13+
runs:
14+
using: "composite"
15+
steps:
16+
# We need to create an archive of the build directory, because it has too
17+
# many files to upload.
18+
- name: Package Build and Source Directories
19+
shell: bash
20+
run: |
21+
# Windows does not support symlinks, so we need to dereference them.
22+
tar --exclude build/ ${{ (runner.os == 'Windows' && '-h') || '' }} -c . | zstd -T0 -c > ../llvm-project.tar.zst
23+
mv ../llvm-project.tar.zst .
24+
tar -C ${{ inputs.build-prefix }} -c build/ | zstd -T0 -c > build.tar.zst
25+
26+
- name: Upload Stage 1 Source
27+
uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0
28+
with:
29+
name: ${{ runner.os }}-${{ runner.arch }}-${{ github.job }}-source
30+
path: llvm-project.tar.zst
31+
retention-days: 2
32+
33+
- name: Upload Stage 1 Build Dir
34+
uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0
35+
with:
36+
name: ${{ runner.os}}-${{ runner.arch }}-${{ github.job }}-build
37+
path: build.tar.zst
38+
retention-days: 2

0 commit comments

Comments
 (0)