Skip to content

Commit dbc45a8

Browse files
committed
rebase
Created using spr 1.3.4
2 parents c8a4c91 + 9d9d1d1 commit dbc45a8

File tree

6,162 files changed

+253550
-86073
lines changed

Some content is hidden

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

6,162 files changed

+253550
-86073
lines changed

.ci/generate-buildkite-pipeline-premerge

Lines changed: 2 additions & 2 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 libc lldb openmp cross-project-tests; do
71+
for p in clang-tools-extra compiler-rt flang lldb cross-project-tests; do
7272
echo $p
7373
done
7474
;;
@@ -224,7 +224,7 @@ fi
224224
# needs while letting them run on the infrastructure provided by LLVM.
225225

226226
# Figure out which projects need to be built on each platform
227-
all_projects="bolt clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl"
227+
all_projects="bolt clang clang-tools-extra compiler-rt cross-project-tests flang libc libclc lld lldb llvm mlir openmp polly pstl"
228228
modified_projects="$(keep-modified-projects ${all_projects})"
229229

230230
linux_projects_to_test=$(exclude-linux $(compute-projects-to-test ${modified_projects}))

.ci/monolithic-linux.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +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-
rm -rf ${BUILD_DIR}
21+
rm -rf "${BUILD_DIR}"
2222

2323
ccache --zero-stats
2424

@@ -37,8 +37,8 @@ projects="${1}"
3737
targets="${2}"
3838

3939
echo "--- cmake"
40-
pip install -q -r ${MONOREPO_ROOT}/mlir/python/requirements.txt
41-
cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
40+
pip install -q -r "${MONOREPO_ROOT}"/mlir/python/requirements.txt
41+
cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
4242
-D LLVM_ENABLE_PROJECTS="${projects}" \
4343
-G Ninja \
4444
-D CMAKE_BUILD_TYPE=Release \

.ci/monolithic-windows.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ set -o pipefail
1919
MONOREPO_ROOT="${MONOREPO_ROOT:="$(git rev-parse --show-toplevel)"}"
2020
BUILD_DIR="${BUILD_DIR:=${MONOREPO_ROOT}/build}"
2121

22-
rm -rf ${BUILD_DIR}
22+
rm -rf "${BUILD_DIR}"
2323

2424
if [[ -n "${CLEAR_CACHE:-}" ]]; then
2525
echo "clearing sccache"
@@ -37,14 +37,14 @@ projects="${1}"
3737
targets="${2}"
3838

3939
echo "--- cmake"
40-
pip install -q -r ${MONOREPO_ROOT}/mlir/python/requirements.txt
40+
pip install -q -r "${MONOREPO_ROOT}"/mlir/python/requirements.txt
4141

4242
# The CMAKE_*_LINKER_FLAGS to disable the manifest come from research
4343
# on fixing a build reliability issue on the build server, please
4444
# see https://github.com/llvm/llvm-project/pull/82393 and
4545
# https://discourse.llvm.org/t/rfc-future-of-windows-pre-commit-ci/76840/40
4646
# for further information.
47-
cmake -S ${MONOREPO_ROOT}/llvm -B ${BUILD_DIR} \
47+
cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
4848
-D LLVM_ENABLE_PROJECTS="${projects}" \
4949
-G Ninja \
5050
-D CMAKE_BUILD_TYPE=Release \

.github/CODEOWNERS

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@
3232
/clang/www/cxx_dr_status.html @Endilll
3333
/clang/www/make_cxx_dr_status @Endilll
3434

35+
clang/lib/AST/Interp/ @tbaederr
36+
clang/test/AST/Interp/ @tbaederr
37+
3538
/lldb/ @JDevlieghere
3639

3740
# MLIR Interfaces.
@@ -56,8 +59,8 @@
5659
/mlir/Dialect/*/Transforms/Bufferize.cpp @matthias-springer
5760

5861
# Linalg Dialect in MLIR.
59-
/mlir/include/mlir/Dialect/Linalg @dcaballe @nicolasvasilache
60-
/mlir/lib/Dialect/Linalg @dcaballe @nicolasvasilache
62+
/mlir/include/mlir/Dialect/Linalg/* @dcaballe @nicolasvasilache
63+
/mlir/lib/Dialect/Linalg/* @dcaballe @nicolasvasilache
6164
/mlir/lib/Dialect/Linalg/Transforms/DecomposeLinalgOps.cpp @MaheshRavishankar @nicolasvasilache
6265
/mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp @MaheshRavishankar @nicolasvasilache
6366
/mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp @MaheshRavishankar @nicolasvasilache
@@ -74,14 +77,14 @@
7477
/mlir/**/*SME* @banach-space @dcaballe @nicolasvasilache
7578
/mlir/**/*SVE* @banach-space @dcaballe @nicolasvasilache
7679
/mlir/**/*VectorInterfaces* @dcaballe @nicolasvasilache
77-
/mlir/**/*VectorToSCF* @banach-space @dcaballe @nicolasvasilache @matthias-springer
80+
/mlir/**/*VectorToSCF* @banach-space @dcaballe @matthias-springer @nicolasvasilache
7881
/mlir/**/*VectorToLLVM* @banach-space @dcaballe @nicolasvasilache
7982
/mlir/**/*X86Vector* @aartbik @dcaballe @nicolasvasilache
80-
/mlir/include/mlir/Dialect/Vector @dcaballe @nicolasvasilache
81-
/mlir/lib/Dialect/Vector @dcaballe @nicolasvasilache
82-
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
83-
/mlir/**/*EmulateNarrowType* @hanhanW
83+
/mlir/include/mlir/Dialect/Vector/* @dcaballe @nicolasvasilache
84+
/mlir/lib/Dialect/Vector/* @dcaballe @nicolasvasilache
8485
/mlir/lib/Dialect/Vector/Transforms/* @hanhanW @nicolasvasilache
86+
/mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp @MaheshRavishankar @nicolasvasilache
87+
/mlir/**/*EmulateNarrowType* @dcaballe @hanhanW
8588

8689
# Presburger library in MLIR
8790
/mlir/**/*Presburger* @Groverkss @Superty
@@ -93,6 +96,7 @@
9396
# Transform Dialect in MLIR.
9497
/mlir/include/mlir/Dialect/Transform/* @ftynse @nicolasvasilache
9598
/mlir/lib/Dialect/Transform/* @ftynse @nicolasvasilache
99+
/mlir/**/*TransformOps* @ftynse @nicolasvasilache
96100

97101
# SPIR-V Dialect in MLIR.
98102
/mlir/**/SPIRV/ @antiagainst @kuhar
@@ -103,5 +107,24 @@
103107
# MLIR Sparsifier.
104108
/mlir/**/*SparseTensor*/ @aartbik @PeimingLiu @yinying-lisa-li @matthias-springer
105109

110+
# MLIR NVGPU Dialect
111+
/mlir/**/NVGPU*/ @grypp
112+
/mlir/test/**/CUDA/ @grypp
113+
114+
# MLIR NVVM Dialect in MLIR
115+
/mlir/**/LLVMIR/**/BasicPtxBuilderInterface* @grypp
116+
/mlir/**/NVVM*/ @grypp
117+
106118
# BOLT
107119
/bolt/ @aaupov @maksfb @rafaelauler @ayermolo @dcci
120+
121+
# Bazel build system.
122+
/utils/bazel/ @rupprecht
123+
124+
# InstallAPI and TextAPI
125+
/llvm/**/TextAPI/ @cyndyishida
126+
/clang/**/InstallAPI/ @cyndyishida
127+
/clang/tools/clang-installapi/ @cyndyishida
128+
129+
# ExtractAPI
130+
/clang/**/ExtractAPI @daniel-grumberg

.github/new-prs-labeler.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -629,6 +629,8 @@ backend:DirectX:
629629
- '**/*DirectX*/**'
630630
- '**/*DXIL*/**'
631631
- '**/*dxil*/**'
632+
- '**/*DXContainer*'
633+
- '**/*DXContainer*/**'
632634

633635
backend:SPIR-V:
634636
- clang/lib/Driver/ToolChains/SPIRV.*
@@ -933,3 +935,6 @@ openmp:libomp:
933935

934936
openmp:libomptarget:
935937
- any: ['openmp/**', '!openmp/runtime/**']
938+
939+
bazel:
940+
- utils/bazel/**

.github/workflows/email-check.yaml

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: "Check for private emails used in PRs"
22

33
on:
4-
pull_request_target:
4+
pull_request:
55
types:
66
- opened
77

@@ -10,8 +10,6 @@ permissions:
1010

1111
jobs:
1212
validate_email:
13-
permissions:
14-
pull-requests: write
1513
runs-on: ubuntu-latest
1614
if: github.repository == 'llvm/llvm-project'
1715
steps:
@@ -25,20 +23,24 @@ jobs:
2523
run: |
2624
git log -1
2725
echo "EMAIL=$(git show -s --format='%ae' HEAD~0)" >> $GITHUB_OUTPUT
26+
# Create empty comment file
27+
echo "[]" > comments
2828
2929
- name: Validate author email
3030
if: ${{ endsWith(steps.author.outputs.EMAIL, 'noreply.github.com') }}
31-
uses: actions/github-script@v6
3231
env:
33-
EMAIL: ${{ steps.author.outputs.EMAIL }}
32+
COMMENT: >-
33+
⚠️ We detected that you are using a GitHub private e-mail address to contribute to the repo.<br/>
34+
Please turn off [Keep my email addresses private](https://github.com/settings/emails) setting in your account.<br/>
35+
See [LLVM Discourse](https://discourse.llvm.org/t/hidden-emails-on-github-should-we-do-something-about-it) for more information.
36+
run: |
37+
cat << EOF > comments
38+
[{"body" : "$COMMENT"}]
39+
EOF
40+
41+
- uses: actions/upload-artifact@26f96dfa697d77e81fd5907df203aa23a56210a8 #v4.3.0
42+
if: always()
3443
with:
35-
script: |
36-
const { EMAIL } = process.env
37-
await github.rest.issues.createComment({
38-
issue_number: context.issue.number,
39-
owner: context.repo.owner,
40-
repo: context.repo.repo,
41-
body: `⚠️ We detected that you are using a GitHub private e-mail address to contribute to the repo.
42-
Please turn off [Keep my email addresses private](https://github.com/settings/emails) setting in your account.
43-
See [LLVM Discourse](https://discourse.llvm.org/t/hidden-emails-on-github-should-we-do-something-about-it) for more information.
44-
`})
44+
name: workflow-args
45+
path: |
46+
comments

.github/workflows/issue-write.yml

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,139 @@
1+
name: Comment on an issue
2+
3+
on:
4+
workflow_run:
5+
workflows:
6+
- "Check code formatting"
7+
- "Check for private emails used in PRs"
8+
types:
9+
- completed
10+
11+
permissions:
12+
contents: read
13+
14+
jobs:
15+
pr-comment:
16+
runs-on: ubuntu-latest
17+
permissions:
18+
pull-requests: write
19+
if: >
20+
github.event.workflow_run.event == 'pull_request'
21+
steps:
22+
- name: 'Download artifact'
23+
uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1
24+
with:
25+
github-token: ${{ secrets.ISSUE_WRITE_DOWNLOAD_ARTIFACT }}
26+
run-id: ${{ github.event.workflow_run.id }}
27+
name: workflow-args
28+
29+
- name: 'Comment on PR'
30+
uses: actions/github-script@v3
31+
with:
32+
github-token: ${{ secrets.GITHUB_TOKEN }}
33+
script: |
34+
var fs = require('fs');
35+
const comments = JSON.parse(fs.readFileSync('./comments'));
36+
if (!comments || comments.length == 0) {
37+
return;
38+
}
39+
40+
let runInfo = await github.actions.getWorkflowRun({
41+
owner: context.repo.owner,
42+
repo: context.repo.repo,
43+
run_id: context.payload.workflow_run.id
44+
});
45+
46+
console.log(runInfo);
47+
48+
49+
// Query to find the number of the pull request that triggered this job.
50+
// The associated pull requests are based off of the branch name, so if
51+
// you create a pull request for a branch, close it, and then create
52+
// another pull request with the same branch, then this query will return
53+
// two associated pull requests. This is why we have to fetch all the
54+
// associated pull requests and then iterate through them to find the
55+
// one that is open.
56+
const gql_query = `
57+
query($repo_owner : String!, $repo_name : String!, $branch: String!) {
58+
repository(owner: $repo_owner, name: $repo_name) {
59+
ref (qualifiedName: $branch) {
60+
associatedPullRequests(first: 100) {
61+
nodes {
62+
baseRepository {
63+
owner {
64+
login
65+
}
66+
}
67+
number
68+
state
69+
}
70+
}
71+
}
72+
}
73+
}
74+
`
75+
const gql_variables = {
76+
repo_owner: runInfo.data.head_repository.owner.login,
77+
repo_name: runInfo.data.head_repository.name,
78+
branch: runInfo.data.head_branch
79+
}
80+
const gql_result = await github.graphql(gql_query, gql_variables);
81+
console.log(gql_result);
82+
// If the branch for the PR was deleted before this job has a chance
83+
// to run, then the ref will be null. This can happen if someone:
84+
// 1. Rebase the PR, which triggers some workflow.
85+
// 2. Immediately merges the PR and deletes the branch.
86+
// 3. The workflow finishes and triggers this job.
87+
if (!gql_result.repository.ref) {
88+
console.log("Ref has been deleted");
89+
return;
90+
}
91+
console.log(gql_result.repository.ref.associatedPullRequests.nodes);
92+
93+
var pr_number = 0;
94+
gql_result.repository.ref.associatedPullRequests.nodes.forEach((pr) => {
95+
if (pr.baseRepository.owner.login = context.repo.owner && pr.state == 'OPEN') {
96+
pr_number = pr.number;
97+
}
98+
});
99+
if (pr_number == 0) {
100+
console.log("Error retrieving pull request number");
101+
return;
102+
}
103+
104+
await comments.forEach(function (comment) {
105+
if (comment.id) {
106+
// Security check: Ensure that this comment was created by
107+
// the github-actions bot, so a malicious input won't overwrite
108+
// a user's comment.
109+
github.issues.getComment({
110+
owner: context.repo.owner,
111+
repo: context.repo.repo,
112+
comment_id: comment.id
113+
}).then((old_comment) => {
114+
console.log(old_comment);
115+
if (old_comment.data.user.login != "github-actions[bot]") {
116+
console.log("Invalid comment id: " + comment.id);
117+
return;
118+
}
119+
github.issues.updateComment({
120+
owner: context.repo.owner,
121+
repo: context.repo.repo,
122+
issue_number: pr_number,
123+
comment_id: comment.id,
124+
body: comment.body
125+
});
126+
});
127+
} else {
128+
github.issues.createComment({
129+
owner: context.repo.owner,
130+
repo: context.repo.repo,
131+
issue_number: pr_number,
132+
body: comment.body
133+
});
134+
}
135+
});
136+
137+
- name: Dump comments file
138+
if: always()
139+
run: cat comments

.github/workflows/llvm-project-tests.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,11 @@ jobs:
118118
else
119119
builddir="$(pwd)"/build
120120
fi
121+
if [ "${{ runner.os }}" == "macOS" ]; then
122+
# Workaround test failure on some lld tests on MacOS
123+
# https://github.com/llvm/llvm-project/issues/81967
124+
extra_cmake_args="-DLLVM_DISABLE_ASSEMBLY_FILES=ON"
125+
fi
121126
echo "llvm-builddir=$builddir" >> "$GITHUB_OUTPUT"
122127
cmake -G Ninja \
123128
-B "$builddir" \

.github/workflows/llvm-tests.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ jobs:
4242
BASELINE_REF: ${{ steps.vars.outputs.BASELINE_REF }}
4343
ABI_HEADERS: ${{ steps.vars.outputs.ABI_HEADERS }}
4444
BASELINE_VERSION_MAJOR: ${{ steps.vars.outputs.BASELINE_VERSION_MAJOR }}
45+
BASELINE_VERSION_MINOR: ${{ steps.vars.outputs.BASELINE_VERSION_MINOR }}
4546
LLVM_VERSION_MAJOR: ${{ steps.version.outputs.LLVM_VERSION_MAJOR }}
4647
LLVM_VERSION_MINOR: ${{ steps.version.outputs.LLVM_VERSION_MINOR }}
4748
LLVM_VERSION_PATCH: ${{ steps.version.outputs.LLVM_VERSION_PATCH }}
@@ -58,7 +59,14 @@ jobs:
5859
- name: Setup Variables
5960
id: vars
6061
run: |
61-
if [ ${{ steps.version.outputs.LLVM_VERSION_MINOR }} -ne 0 ] || [ ${{ steps.version.outputs.LLVM_VERSION_PATCH }} -eq 0 ]; then
62+
# C++ ABI:
63+
# 18.1.0 we aren't doing ABI checks.
64+
# 18.1.1 We want to check 18.1.0.
65+
# C ABI:
66+
# 18.1.0 We want to check 17.0.x
67+
# 18.1.1 We want to check 18.1.0
68+
echo "BASELINE_VERSION_MINOR=1" >> "$GITHUB_OUTPUT"
69+
if [ ${{ steps.version.outputs.LLVM_VERSION_PATCH }} -eq 0 ]; then
6270
{
6371
echo "BASELINE_VERSION_MAJOR=$(( ${{ steps.version.outputs.LLVM_VERSION_MAJOR }} - 1))"
6472
echo "ABI_HEADERS=llvm-c"
@@ -82,7 +90,7 @@ jobs:
8290
include:
8391
- name: build-baseline
8492
llvm_version_major: ${{ needs.abi-dump-setup.outputs.BASELINE_VERSION_MAJOR }}
85-
ref: llvmorg-${{ needs.abi-dump-setup.outputs.BASELINE_VERSION_MAJOR }}.0.0
93+
ref: llvmorg-${{ needs.abi-dump-setup.outputs.BASELINE_VERSION_MAJOR }}.${{ needs.abi-dump-setup.outputs.BASELINE_VERSION_MINOR }}.0
8694
repo: llvm/llvm-project
8795
- name: build-latest
8896
llvm_version_major: ${{ needs.abi-dump-setup.outputs.LLVM_VERSION_MAJOR }}

0 commit comments

Comments
 (0)