Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
73 commits
Select commit Hold shift + click to select a range
670c453
[Offload] Remove handling for device memory pool (#163629)
jhuber6 Nov 6, 2025
faae161
[mlir][acc] Erase empty kernel_environment ops during canonicalizatio…
VijayKandiah Nov 6, 2025
bda7289
[lldb][docs][NFC] Fix ClangModulesDeclVendor::AddModule parameter docs
Michael137 Nov 6, 2025
71927dd
[CodeGen] Delete two ComputeValueVTs overloads (NFC) (#166758)
s-barannikov Nov 6, 2025
5f08fb4
[IR] llvm.reloc.none intrinsic for no-op symbol references (#147427)
mysterymath Nov 6, 2025
ba4abc6
[Support] Fix up cast function object definitions. NFC. (#166789)
kuhar Nov 6, 2025
6ac4585
[clang][AST] Do not try to handle irrelevant cases in writeBareSource…
SergejSalnikov Nov 6, 2025
83930be
[CI] Ensure compatibility with Python 3.8
boomanaiden154 Nov 6, 2025
75c09b7
[DirectX] Let data scalarizer pass account for sub-types when updatin…
inbelic Nov 6, 2025
50daf4d
Add @llvm.reloc.none intrinsic to LLVM release notes (#166805)
mysterymath Nov 6, 2025
210b9a5
[Github] Update GitHub Artifact Actions (major) (#166112)
renovate-bot Nov 6, 2025
70f5fd4
[flang][debug] Add debug type support for procedure pointers (#166764)
abidh Nov 6, 2025
d1387ed
CodeGen: More accurate mayAlias for instructions with multiple MMOs (…
nhaehnle Nov 6, 2025
5af27f8
[InstrProf] Fix frontend generated function hash (#165358)
zsrkmyn Nov 6, 2025
3be8250
[clang-repl] Fixing vulnerabilities with respect to orc runtime (#165…
anutosh491 Nov 6, 2025
6fce53a
[BOLT][AArch64] Skip as many zeros as possible in padding validation …
yozhu Nov 6, 2025
509ee6b
[PatternMatch] Fix matching order for `m_c_Intrinsic` (#166047)
dtcxzyw Nov 6, 2025
948d39b
[RISCV] Update SpacemiT-X60 vector reduction operations latencies (#…
mikhailramalho Nov 6, 2025
f55b55c
[CMake][Fuchsia] Build libclang_rt.builtins for arm-fuchsia (#166686)
frobtech Nov 6, 2025
52e8f3c
[DA] Check for overflow in strong SIV test (#166223)
1997alireza Nov 6, 2025
f20619c
[RISCV] More explicitly check that combineOp_VLToVWOp_VL removes the …
topperc Nov 6, 2025
3c31cde
CodeGen: Handle bundled instructions in two-address-instructions pass…
nhaehnle Nov 6, 2025
f84c4c4
[flang][Driver] Better error message when multiple actions are specif…
tarunprabhu Nov 6, 2025
0ca7d57
[NFCI][lldb][test] Enable GNU POSIX extensions where necessary (#166768)
tambry Nov 6, 2025
732c725
[X86] narrowBitOpRMW - add additional uses of the StoredVal back to t…
RKSimon Nov 6, 2025
2be5421
[CodeGen] Add missing header guard to LibcallLoweringInfo.h (#166815)
tomershafir Nov 6, 2025
321de63
[VPlan] Unify casting unit testing (NFC).
fhahn Nov 6, 2025
de2a86e
[LLDB] Run working STL data formatter tests with PDB (#166812)
Nerixyz Nov 6, 2025
aaddd8d
[OpenMP] Fix tests relying on the heap size variable
jhuber6 Nov 6, 2025
ecddaae
[DirectX] Remove llvm.assume intrinsic (#166697)
farzonl Nov 6, 2025
e341a9f
[Github] Exclude Renovate from Updating OS Versions in GHA (#166811)
boomanaiden154 Nov 6, 2025
c145f28
AMDGPU: Replace some undef uses in tests (#166813)
arsenm Nov 6, 2025
4c605e9
[HLSL] [DirectX] Invert the result of `firstbithigh` (#166419)
Icohedron Nov 6, 2025
96806a7
[SLP]Gather copyable node, if its parent is copyable, but this node i…
alexey-bataev Nov 6, 2025
b82c7e7
[C2y] Claim conformance to WG14 N3525 (#166824)
AaronBallman Nov 6, 2025
4a7d3df
[mlir] Introduce AlignmentAttrOpInterface to expose MaybeAlign (#161440)
jiang1997 Nov 6, 2025
71cb0bb
[lldb/Target] Add SyntheticFrameProvider class (#166664)
medismailben Nov 6, 2025
f1bf0b0
[lldb] Make it so not finding and SDK doesn't look like an error (#16…
JDevlieghere Nov 6, 2025
d2f75f2
[clang] SFINAE context refactor (#164703)
mizvekov Nov 6, 2025
71550ff
[GitHub][CI] Move PATH setting into base image for tooling containers…
tstellar Nov 6, 2025
165563c
[gn build] Port 71cb0bb8932e
llvmgnsyncbot Nov 6, 2025
4cd17ee
[lldb/Interpreter] Implement ScriptedFrameProvider{,Python}Interface …
medismailben Nov 6, 2025
316236b
[Clang] fix false-positive lambda shadow diagnostics in explicit obje…
a-tarasyuk Nov 6, 2025
8d0df57
[Hexagon] Improve QFP Optimizer (#166647)
fhossein-quic Nov 6, 2025
ad723f9
[LLVM] Check if LLVM_ON_UNIX is Defined
boomanaiden154 Nov 6, 2025
e5ba3c6
[MLIR][Python] Update Nanobind Warnings List for clang-cl on Windows
boomanaiden154 Nov 6, 2025
f410c97
[CI] Remove Comment about Windows Compile Jobs Limit
boomanaiden154 Nov 6, 2025
e330985
[sanitizer-common] [Darwin] Fix overlapping dyld segment addresses (#…
ndrewh Nov 6, 2025
adc7932
[libcxx] Implement C++20 std::chrono::is_clock, std::chrono::is_clock…
yuxuanchen1997 Nov 6, 2025
67eb691
[gn build] Port adc79324618f
llvmgnsyncbot Nov 6, 2025
c12cb28
[flang][acc] Add infrastructure and tests for ACCImplicitData (#166797)
razvanlupusoru Nov 6, 2025
fce5889
[lldb] Enable locate module callback for all module loading (#160199)
GeorgeHuyubo Nov 6, 2025
e082220
[GitHub][CI] Factor out duplicate container building code into compos…
tstellar Nov 6, 2025
aa1b1dc
[lldb] Add function to tell if a section is a GOT section (#165936)
augusto2112 Nov 6, 2025
6adf993
[libc] Disable overflow test in strfromtest on riscv32 (#166719)
mleleszi Nov 6, 2025
bb6d2be
[Clang] fix confusing diagnostics for lambdas with init-captures insi…
a-tarasyuk Nov 6, 2025
94a52cb
[CI] Remove Disabled Warning Set on Windows (#166838)
boomanaiden154 Nov 6, 2025
c940bfd
[BPF] TableGen-erate SDNode descriptions (#166499)
s-barannikov Nov 6, 2025
3ad5765
[LV] Check all users of partial reductions in chain have same scale. …
fhahn Nov 6, 2025
2c0e4e7
RuntimeLibcalls: Remove LLVM_ABI from private member variable declara…
jsji Nov 6, 2025
4b4bfe9
[flang][acc] Add missing FIRAnalysis dependency (#166853)
razvanlupusoru Nov 6, 2025
fa83723
[debugserver] Remove unnecessary sleep in MachProcess::AttachForDebug…
JDevlieghere Nov 6, 2025
8b42200
[mlir][ods] Enable basic string interpolation in constraint summary. …
jpienaar Nov 6, 2025
e30dc12
[NFC][Github] Move Container Composite Workflows to .github/actions (…
boomanaiden154 Nov 6, 2025
2fd3bf3
[Github] Update GHA Dependencies (major) (#161108)
renovate-bot Nov 6, 2025
32ebf63
[LLDB] Fix debuginfo ELF files overwriting Unified Section List (#166…
Jlalond Nov 6, 2025
995b0f1
[SPIRV] Handle `inttoptr` constant expressions in global initialisers…
AlexVlx Nov 6, 2025
16ca2eb
[NFC][CUDA][HIP] Print the triple when there's no mcpu (#166565)
AlexVlx Nov 7, 2025
83d6077
[Github] Revert labeller update in new PRs workflow
boomanaiden154 Nov 7, 2025
7e9db96
[bazel] Fix compilation for AlignmentAttrInterface and BPF. (#166872)
wecing Nov 7, 2025
c85be79
merge main into amd-staging
ronlieb Nov 7, 2025
7463efe
Revert "[Offload] Remove handling for device memory pool (#163629)"
ronlieb Nov 7, 2025
c838edd
merge main into amd-staging
ronlieb Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
6 changes: 4 additions & 2 deletions .ci/generate_test_report_lib.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,20 @@
# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
"""Library to parse JUnit XML files and return a markdown report."""

from typing import TypedDict
from typing import TypedDict, Optional
import platform

from junitparser import JUnitXml, Failure


# This data structure should match the definition in llvm-zorg in
# premerge/advisor/advisor_lib.py
# TODO(boomanaiden154): Drop the Optional here and switch to str | None when
# we require Python 3.10.
class FailureExplanation(TypedDict):
name: str
explained: bool
reason: str | None
reason: Optional[str]


SEE_BUILD_FILE_STR = "Download the build's log file to see the details."
Expand Down
3 changes: 0 additions & 3 deletions .ci/monolithic-windows.sh
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,6 @@ export LD=link
# see https://github.com/llvm/llvm-project/pull/82393 and
# https://discourse.llvm.org/t/rfc-future-of-windows-pre-commit-ci/76840/40
# for further information.
# We limit the number of parallel compile jobs to 24 control memory
# consumption and improve build reliability.
cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
-D LLVM_ENABLE_PROJECTS="${projects}" \
-G Ninja \
Expand All @@ -49,7 +47,6 @@ cmake -S "${MONOREPO_ROOT}"/llvm -B "${BUILD_DIR}" \
-D CMAKE_EXE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_MODULE_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_SHARED_LINKER_FLAGS="/MANIFEST:NO" \
-D CMAKE_CXX_FLAGS="-Wno-c++98-compat -Wno-c++14-compat -Wno-unsafe-buffer-usage -Wno-old-style-cast" \
-D LLVM_ENABLE_RUNTIMES="${runtimes}"

start-group "ninja"
Expand Down
95 changes: 95 additions & 0 deletions .github/actions/build-container/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
name: Build Container
description: >-
Build and test a container using the standard llvm naming scheme for containers.

inputs:
tag:
description: >-
The tag to use for this container.
required: false
container-name:
description: >-
The name for the container.
required: true
dockerfile:
description: >-
Path to docker file.
required: false
target:
description: >-
The container target to build 'passed to podman via ---target option'
required: false
context:
description: >-
Path to context for the container build.
required: false
test-command:
description: >-
Test command to run to ensure the container is working correctly.
required: false

runs:
using: "composite"
steps:
# podman is not installed by default on the ARM64 images.
- name: Install Podman
if: runner.arch == 'ARM64'
shell: bash
run: |
sudo apt-get install podman

- name: Build Container
shell: bash
env:
INPUT_TAG: ${{inputs.tag }}
INPUT_CONTAINER_NAME: ${{ inputs.container-name }}
INPUT_TARGET: ${{ inputs.target }}
INPUT_DOCKERFILE: ${{ inputs.dockerfile }}
INPUT_CONTEXT: ${{ inputs.context }}
id: build
run: |
env
tag="${INPUT_TAG:-$(git rev-parse --short=12 HEAD)}"

case "$RUNNER_ARCH" in
ARM64)
container_arch="arm64v8"
;;
*)
container_arch="amd64"
;;
esac

container_name="ghcr.io/$GITHUB_REPOSITORY_OWNER/$container_arch/$INPUT_CONTAINER_NAME:$tag"
container_filename="$(echo $container_name | sed -e 's/\//-/g' -e 's/:/-/g').tar"
if [ -n "$INPUT_TARGET" ]; then
podman_options="$podman_options --target $INPUT_TARGET"
fi
if [ -n "$INPUT_DOCKERFILE" ]; then
podman_options="$podman_options -f $INPUT_DOCKERFILE"
fi
podman_options="$podman_options ${INPUT_CONTEXT:-.}"
echo "Podman Options: $podman_options"

podman build -t $container_name $podman_options

podman save $container_name > $container_filename

echo "container-full-name=$container_name" >> $GITHUB_OUTPUT

- name: Create container artifact
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: ${{ inputs.container-name }}-${{ runner.arch }}
path: "*.tar"
retention-days: 14

- name: Test container
shell: bash
if: inputs.test-command
env:
INPUT_TEST_COMMAND: ${{ inputs.test-command }}
CONTAINER_FULL_NAME: ${{ steps.build.outputs.container-full-name }}
run: |
podman run --pull=never --rm -it $CONTAINER_FULL_NAME /usr/bin/bash -x -c "$INPUT_TEST_COMMAND"

44 changes: 44 additions & 0 deletions .github/actions/push-container/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Push Container
description: >-
Download all container artifacts for this job and push them to the GitHub registry.

inputs:
token:
description: >-
Token to use to authenticate with the container registry.
required: true

runs:
using: "composite"
steps:
- name: Download container
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0

- name: Push Container
env:
GITHUB_TOKEN: ${{ inputs.token }}
shell: bash
run: |
function push_container {
image_name=$1
latest_name=$(echo $image_name | sed 's/:[a-f0-9]\+$/:latest/g')
podman tag $image_name $latest_name
echo "Pushing $image_name ..."
podman push $image_name
echo "Pushing $latest_name ..."
podman push $latest_name
}

podman login -u ${{ github.actor }} -p $GITHUB_TOKEN ghcr.io
for f in $(find . -iname '*.tar'); do
image_name=$(podman load -q -i $f | sed 's/Loaded image: //g')
push_container $image_name

if echo $image_name | grep '/amd64/'; then
# For amd64, create an alias with the arch component removed.
# This matches the convention used on dockerhub.
default_image_name=$(echo $(dirname $(dirname $image_name))/$(basename $image_name))
podman tag $image_name $default_image_name
push_container $default_image_name
fi
done
9 changes: 8 additions & 1 deletion .github/renovate.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,12 @@
"minimumReleaseAge": "3 days",
"assignees": ["boomanaiden154"],
"ignorePaths": [".github/workflows/containers/**"],
"groupName": "[Github] Update GHA Dependencies"
"groupName": "[Github] Update GHA Dependencies",
"packageRules": [
{
"matchPackageNames": ["windows", "macos"],
"matchManagers": ["github-actions"],
"enabled": false
}
]
}
97 changes: 28 additions & 69 deletions .github/workflows/build-ci-container-tooling.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,17 +12,30 @@ on:
- '.github/workflows/containers/github-action-ci-tooling/**'
- llvm/utils/git/requirements_formatting.txt
- llvm/utils/git/requirements_linting.txt
- '.github/actions/build-container/**'
- '.github/actions/push-container/**'
pull_request:
paths:
- .github/workflows/build-ci-container-tooling.yml
- '.github/workflows/containers/github-action-ci-tooling/**'
- llvm/utils/git/requirements_formatting.txt
- llvm/utils/git/requirements_linting.txt
- '.github/actions/build-container/**'
- '.github/actions/push-container/**'

jobs:
build-ci-container-tooling:
name: Build Container ${{ matrix.container-name }}
if: github.repository_owner == 'llvm'
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
include:
- container-name: code-format
test-command: 'cd $HOME && clang-format --version | grep version && git-clang-format -h | grep usage && black --version | grep black'
- container-name: code-lint
test-command: 'cd $HOME && clang-tidy --version | grep version && clang-tidy-diff.py -h | grep usage'
steps:
- name: Checkout LLVM
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
Expand All @@ -32,48 +45,15 @@ jobs:
llvm/utils/git/requirements_formatting.txt
llvm/utils/git/requirements_linting.txt
clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py
.github/actions/build-container

- name: Write Variables
id: vars
run: |
tag=$(git rev-parse --short=12 HEAD)
container_name="ghcr.io/$GITHUB_REPOSITORY_OWNER/amd64/ci-ubuntu-24.04"
echo "container-name-format=$container_name-code-format" >> $GITHUB_OUTPUT
echo "container-name-lint=$container_name-code-lint" >> $GITHUB_OUTPUT
echo "container-name-format-tag=$container_name-format:$tag" >> $GITHUB_OUTPUT
echo "container-name-lint-tag=$container_name-lint:$tag" >> $GITHUB_OUTPUT
echo "container-format-filename=$(echo $container_name-format:$tag | sed -e 's/\//-/g' -e 's/:/-/g').tar" >> $GITHUB_OUTPUT
echo "container-lint-filename=$(echo $container_name-lint:$tag | sed -e 's/\//-/g' -e 's/:/-/g').tar" >> $GITHUB_OUTPUT

- name: Build container
run: |
podman build --target ci-container-code-format \
-f .github/workflows/containers/github-action-ci-tooling/Dockerfile \
-t ${{ steps.vars.outputs.container-name-format-tag }} .
podman build --target ci-container-code-lint \
-f .github/workflows/containers/github-action-ci-tooling/Dockerfile \
-t ${{ steps.vars.outputs.container-name-lint-tag }} .

# Save the container so we have it in case the push fails. This also
# allows us to separate the push step into a different job so we can
# maintain minimal permissions while building the container.
- name: Save container image
run: |
podman save ${{ steps.vars.outputs.container-name-format-tag }} > ${{ steps.vars.outputs.container-format-filename }}
podman save ${{ steps.vars.outputs.container-name-lint-tag }} > ${{ steps.vars.outputs.container-lint-filename }}

- name: Upload container image
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
- name: Build Container
uses: ./.github/actions/build-container
with:
name: container-amd64
path: "*.tar"
retention-days: 14

- name: Test Container
run: |
# Use --pull=never to ensure we are testing the just built image.
podman run --pull=never --rm -it ${{ steps.vars.outputs.container-name-format-tag }} /usr/bin/bash -x -c 'cd $HOME && clang-format --version | grep version && git-clang-format -h | grep usage && black --version | grep black'
podman run --pull=never --rm -it ${{ steps.vars.outputs.container-name-lint-tag }} /usr/bin/bash -x -c 'cd $HOME && clang-tidy --version | grep version && clang-tidy-diff.py -h | grep usage'
container-name: ci-ubuntu-24.04-${{ matrix.container-name }}
dockerfile: .github/workflows/containers/github-action-ci-tooling/Dockerfile
target: ci-container-${{ matrix.container-name }}
test-command: ${{ matrix.test-command }}

push-ci-container:
if: github.event_name == 'push'
Expand All @@ -82,34 +62,13 @@ jobs:
permissions:
packages: write
runs-on: ubuntu-24.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Download container
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0

- name: Push Container
run: |
function push_container {
image_name=$1
latest_name=$(echo $image_name | sed 's/:[a-f0-9]\+$/:latest/g')
podman tag $image_name $latest_name
echo "Pushing $image_name ..."
podman push $image_name
echo "Pushing $latest_name ..."
podman push $latest_name
}

podman login -u ${{ github.actor }} -p $GITHUB_TOKEN ghcr.io
for f in $(find . -iname '*.tar'); do
image_name=$(podman load -q -i $f | sed 's/Loaded image: //g')
push_container $image_name
- name: Checkout LLVM
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
sparse-checkout: |
.github/actions/push-container

if echo $image_name | grep '/amd64/'; then
# For amd64, create an alias with the arch component removed.
# This matches the convention used on dockerhub.
default_image_name=$(echo $(dirname $(dirname $image_name))/$(basename $image_name))
podman tag $image_name $default_image_name
push_container $default_image_name
fi
done
- uses: ./.github/actions/push-container
with:
token: ${{ secrets.GITHUB_TOKEN }}
4 changes: 2 additions & 2 deletions .github/workflows/build-ci-container-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ jobs:
run: |
docker save ${{ steps.vars.outputs.container-name-tag }} > ${{ steps.vars.outputs.container-filename }}
- name: Upload container image
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: container
path: ${{ steps.vars.outputs.container-filename }}
Expand All @@ -61,7 +61,7 @@ jobs:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
- name: Download container
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
uses: actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53 # v6.0.0
with:
name: container
- name: Push Container
Expand Down
Loading