Commit Graph

620 Commits

Author SHA1 Message Date
Jannick Kremer
a75587d271 [clang][python][test] Move python binding tests to lit framework (#146486)
As discussed in PR #142353, the current testsuite of the `clang` Python
bindings has several issues:

- It `libclang.so` cannot be loaded into `python` to run the testsuite,
the whole `ninja check-all` aborts.
- The result of running the testsuite isn't report like the `lit`-based
tests, rendering them almost invisible.
- The testsuite is disabled in a non-obvious way (`RUN_PYTHON_TESTS`) in
`tests/CMakeLists.txt`, which again doesn't show up in the test results.

All these issues can be avoided by integrating the Python bindings tests
with `lit`, which is what this patch does:

- The actual test lives in `clang/test/bindings/python/bindings.sh` and
is run by `lit`.
- The current `clang/bindings/python/tests` directory (minus the
now-subperfluous `CMakeLists.txt`) is moved into the same directory.
- The check if `libclang` is loadable (originally from PR #142353) is
now handled via a new `lit` feature, `libclang-loadable`.
- The various ways to disable the tests have been turned into `XFAIL`s
as appropriate. This isn't complete and not completely tested yet.

Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.

Co-authored-by: Rainer Orth <ro@gcc.gnu.org>
2025-07-02 10:11:48 +02:00
Mircea Trofin
425359a83d [experimental] Ask copilot to check perf profile degradation (#146271)
We can optionally add copilot as a reviewer. As per
[documentation](https://docs.github.com/en/copilot/how-tos/agents/copilot-code-review/using-copilot-code-review#customizing-copilots-reviews-with-custom-instructions),
we can customize the review. This PR asks it to pay attention to the
kind of code that might corrupt performance data, or, in the case of
sample profiling, result in poor profiles by dropping debug info.
2025-06-30 08:09:28 -07:00
Eric Fiselier
3ea7fc7339 attempt to calm down restarter job 2025-06-28 17:19:24 -04:00
Eric Fiselier
94c1506548 Further restrict the restarters ability to restart manually canceled jobs 2025-06-28 13:05:51 -04:00
Eric Fiselier
169b4bea87 Attempt to fix over-keen restarter.
The restarter will restart jobs that were canceled by a newer change,
causing the new and old change to fight it out.

This change attempts to address this by treating the "canceled" message
as an error.
2025-06-28 12:59:33 -04:00
Chris B
67a5fc8e12 Update references from llvm-beanz to llvm (#146177)
This fixes the HLSL actions to pull from the LLVM organization instead
of the original repository under my personal GitHub.
2025-06-27 20:12:27 -05:00
dyung
b0500f56c8 Revert "[clang][python][test] Move python binding tests to lit framework" (#145951)
Reverts llvm/llvm-project#145855

The test added is XPASS-ing on a bot:
https://lab.llvm.org/buildbot/#/builders/144/builds/28623
2025-06-26 15:02:14 -04:00
Simon Pilgrim
0f87c78f64 [GitHub] Add PR filters for VectorCombine patches (#145896)
Distinguish VectorCombine from the vectorizers without just treating it as part of the InstCombine group

Fixes #145286
2025-06-26 16:01:08 +01:00
Rainer Orth
90c9cc2c98 [clang][python][test] Move python binding tests to lit framework (#145855)
As discussed in PR #142353, the current testsuite of the `clang` Python
bindings has several issues:

- If `libclang.so` cannot be loaded into `python` to run the testsuite,
the whole `ninja check-all` aborts.
- The result of running the testsuite isn't report like the `lit`-based
tests, rendering them almost invisible.
- The testsuite is disabled in a non-obvious way (`RUN_PYTHON_TESTS`) in
`tests/CMakeLists.txt`, which again doesn't show up in the test results.

All these issues can be avoided by integrating the Python bindings tests
with `lit`, which is what this patch does:

- The actual test lives in `clang/test/bindings/python/bindings.sh` and
is run by `lit`.
- The current `clang/bindings/python/tests` directory (minus the
now-superfluous `CMakeLists.txt`) is moved into the same directory.
- The check if `libclang` is loadable (originally from PR #142353) is
now handled via a new `lit` feature, `libclang-loadable`.
- The various ways to disable the tests have been turned into `XFAIL`s
as appropriate.
- AArch64 doesn't `FAIL` any longer, so no `XFAIL` is necessary.
- It keeps the `check-clang-python` target for use by the Clang Python
CI.

Tested on `sparc-sun-solaris2.11`, `sparcv9-sun-solaris2.11`,
`i386-pc-solaris2.11`, `amd64-pc-solaris2.11`, `i686-pc-linux-gnu`, and
`x86_64-pc-linux-gnu`.
2025-06-26 16:34:10 +02:00
Aiden Grossman
b7be8786af Reapply "[CI] Migrate to runtimes build" (#143612)
This reverts commit 6f62979a5a.

The reapplies commit 80ea5f46df.

That commit was reverted because it was causing compiler-rt test
failures due to tysan not having its dependencies set up properly within
CMake. That situation has since been rectified in
3cef099ced.

Reviewers: lnihlen, rnk, gburgessiv, cmtice

Reviewed By: rnk, cmtice

Pull Request: https://github.com/llvm/llvm-project/pull/144033
2025-06-20 15:07:00 -07:00
Eric Fiselier
fda6b751f1 Fix libc++ restarter job.
A while ago, the test workflow was updated with a new preemption regex,
however it was only applied to the test job, and not the job
that's actually restarting the failed libc++ test runs.

This fix should correct the issue and get the restarter working
again.
2025-06-18 09:36:36 -04:00
Matt Arsenault
99e263228f github: Add mips backend to PR autolabeler (#140909) 2025-06-18 09:28:24 +09:00
Nikolas Klauser
42c82fcc29 [libc++] Upgrade to GCC 15 (#138293) 2025-06-11 20:19:26 +02:00
Baranov Victor
521e6ce5c8 [CI] Add mention of LLVM Developer Policy in email-check message (NFC) (#143300)
As for now, It may be hard for people to get truth from long Discourse
discussion, so a link to official document may be enough to convince
changing email from private to public.
2025-06-11 10:25:29 +03:00
George Burgess IV
6f62979a5a Revert "[CI] Migrate to runtimes build" (#143612)
Reverts llvm/llvm-project#142696

See https://github.com/llvm/llvm-project/issues/143610 for details; I
believe this PR causes CI builders to build LLVM in a way that's been
broken for a while. To keep CI green, if this is the correct culprit,
those tests should be fixed or skipped
2025-06-10 17:57:16 -06:00
Aiden Grossman
80ea5f46df [CI] Migrate to runtimes build
This patch migrates the premerge pipeline to use LLVM_ENABLE_RUNTIMES to
build libc and compiler-rt.

Reviewers: DavidSpickett, tstellar, cmtice, lnihlen

Reviewed By: DavidSpickett

Pull Request: https://github.com/llvm/llvm-project/pull/142696
2025-06-10 08:11:25 +00:00
Aiden Grossman
9cd53787df [Github] Test docs-flang-man target in documentation job (#142860)
This was recently added in 47171ac3f9. We
should be supporting testing this inside the docs job.
2025-06-04 17:39:58 -07:00
Matt Arsenault
407a338990 github: Add lib/CodeGen to PR autolabeler (#138131)
Try to exclude SelectionDAG and GlobalISel since those have
their own labels
2025-06-03 23:54:25 +09:00
Aiden Grossman
09cd3edc9a [Github] Bump Github Actions Runner in CI Agent Containers
Github actions/runner v2.325.0 was released earlier today. Bump the container
images to use the latest version.
2025-06-02 20:47:14 +00:00
Paschalis Mpeis
df712f588c [github/CODEOWNERS] Add paschalis-mpeis as BOLT reviewer (#141961) 2025-05-30 08:16:05 +01:00
Louis Dionne
4194192aa5 [libc++] Run macOS jobs after the Stage 2 CI (#141816)
Our CI is currently having major difficulties, which causes the Stage 3
CI to basically never succeed. As a result, our macOS CI jobs have not
been running recently. This patch gates the macOS CI jobs on Stage 2
instead of Stage 3 so that they actually run sometimes.
2025-05-29 12:30:08 -04:00
Aiden Grossman
46f90165be [Github] Bump PR Code Format clang-format version (#141819)
As we have discussed in the past, we should be using the latest version.
This has not been updated in a while.
2025-05-28 12:16:01 -07:00
Aiden Grossman
90232cb833 [MLGO] Add IR2Vec files to pr-subscribes-mlgo
Everything is in the title.
2025-05-28 01:00:36 +00:00
Nikolas Klauser
afd53edefa [libc++] Bump the docker image hash (#140517)
This updates GCC 15 to the release version to allow us to upgrade to GCC
15.
2025-05-27 10:58:45 +02:00
Aiden Grossman
deedc8a181 [CI][Github] Remove test naming from premerge jobs (#141527)
This patch removes the "test only please ignore" tagline from the
premerge job names. Now that we are looking to sunset the old
infrastructure pretty soon and the new infrastructure is reporting
errors, we want people to actually pay attention to the failures and
report anything erroneous.
2025-05-26 13:19:09 -07:00
Aiden Grossman
5fc3e76ec4 [Github][CI] Make the new premerge system fail jobs on errors
This patch makes the new premerge system report failures when the build
errors out. We were previously not doing this to not notify people on
failures as we were testing out the infra.

This works towards making the new premerge system canonical and the
deprecation of the old system.

A launch announcement on Discourse will accompany this commit.

Reviewers: cmtice, tstellar, joker-eph, Keenuts, dschuff, lnihlen, gburgessiv

Reviewed By: tstellar, joker-eph, Keenuts

Pull Request: https://github.com/llvm/llvm-project/pull/139359
2025-05-26 20:06:25 +00:00
Aiden Grossman
1b78825577 [Github][CI] Stop running premerge checks on main
This patch stops running the premerge checks on the main branch. This is
based on some feedback in
https://discourse.llvm.org/t/rfc-running-premerge-postcommit-through-github-actions/86124.
We want to use buildbot for post commit testing. This should be covered
in the mean time by the current pemerge-monolithic-* bots even though
the configurations are not exactly the same. This also adds a bit of
capacity back to the cluster (although might not in the end when we
start running more substantial postcommit testing through buildbot).

This is primarily in preparation for turning the new premerge system on
as canonical. Without this, we run into warning fatigue issues as
described in the RFC above.

Reviewers: Keenuts, joker-eph, dschuff, cmtice, gburgessiv, lnihlen, tstellar

Reviewed By: Keenuts, joker-eph

Pull Request: https://github.com/llvm/llvm-project/pull/139358
2025-05-26 20:05:44 +00:00
Aiden Grossman
c02e9c8425 [CI][Github] Prune windows container (#141440)
This patch partially prunes the windows container to reduce the image
size, primarily to improve image pull time which is currently a pretty
significant bottleneck in the new premerge due to autoscaling.

This patch removes the following:
- An extra copy of LLVM that is not needed anymore.
- An unneeded perl installation
- Some extra python packages that are specific to buildbot

This overall saves about 4GB on the uncompressed image, or about 20%.

I tested this locally against the premerge pipeline and everything
passes.

There are still several significant areas of opportunity, namely seeing
if we can move away from the 4.8 sdk image to just the
`windowsservercore` image (about 7GB of opportunity), and shrinking the
VS installation (in total about 5GB uncompressed currently opportunity
unknown).
2025-05-25 19:36:09 -07:00
Matt Arsenault
8d374f1f5b github: Add llvm-reduce to PR autolabeler (#141335) 2025-05-24 15:46:17 +02:00
Aiden Grossman
5c25061f32 [MLGO]{Github] Add MLGO docs page to the MLGO PR subscriber group
This ensures that the MLGO PR subscriber team gets pinged if the document gets
modified which makes sense given it is MLGO specific.
2025-05-16 00:04:46 +00:00
Aiden Grossman
619ac3d1ef [Github] Bump CI container dependency versions
This bumps the Github actions runner binary to v2.324.0 and the LLVM version
in the Linux container to v20.1.4.
2025-05-13 05:34:06 +00:00
Matt Arsenault
e340529226 github: Add ARC, CSKY and Lanai PR labeler paths (#139063) 2025-05-10 17:08:58 +02:00
Mark de Wever
46c730656a [libc++][CI] Use latest Docker image. (#132539)
This image was updated in #132271.
Due to issues with upstream packages, it uses #134497 instead.
2025-05-04 18:57:52 +02:00
Aiden Grossman
32adf2c360 [Github][CI] Rename New Premerge Jobs (#138024)
This patch renames the new premerge job as suggested in
https://discourse.llvm.org/t/github-ci-notifications-and-main-branch/85868/10.
This uses more industry standard terms (like CI vs premerge checks which
might be somewhat of a LLVM CI idiom?) and makes it more generic if we
end up doing postcommit testing through Github.
2025-05-01 23:22:05 -07:00
Tristan Ross
e9193f5fdd [libc] add uefi fullbuild to workflows (#131376)
Comes after #131246 to enable UEFI being build. Skips tests until we
have set up testing.
2025-04-30 14:27:36 -07:00
Aiden Grossman
2c1d4b0404 [Github] Install sccache from apt repo in CI container (#137491)
This patch installs sccache using apt-get in the CI container build
process rather than manually downloading it from github releases. This
makes things quite a bit simpler and means we are not manually handling
things like hash/signature verification. This is only possible now that
we are using ubuntu 24.04 by default.
2025-04-27 08:20:55 -07:00
Aiden Grossman
f11d46c151 [Github] Remove invalid comment from pr-code-format.yaml
The comment was originally added in
b3af755254, but
2898c3e0bb greatly simplified things
making the previous comment invalid. We no longer need to look at
diffing main versus the PR and whether we are doing a two dot or three
dot diff as we are just diffing the merge commit.
2025-04-27 04:12:54 +00:00
Aiden Grossman
0132451b2c [CI] Fix command not found error in monolithic-linux (#137486)
When editing the premerge.yaml file it seems like I left some extra yaml
in there that ended up in the run section of one of the steps that ended
up throwing the error.
2025-04-26 20:08:40 -07:00
Tom Stellard
e28616a22a workflows/commit-access-greeter: Add pull-request read permissions (#137268)
This is now needed in order to list the pull requests for a user. I'm
not sure what changed but this didn't used to be necessary.
2025-04-24 17:26:29 -07:00
Davide Italiano
55678dcbd5 Remove myself from CODEOWNERS. 2025-04-22 13:32:07 -04:00
Yanzuo Liu
a158352294 [Clang][GitHub][NFC] Auto-add clang:bytecode label for PR (#136148) 2025-04-18 09:27:23 +02:00
Schrodinger ZHU Yifan
d744596f7d [libc][workflows] fix fullbuild by installing clang-20/clang++-20 (#136074) 2025-04-17 07:51:54 -04:00
Aiden Grossman
7eae1a4d1f [Github][CI] Name premerge artifacts per OS
This patch renames premerge artifacts per OS. Without this, the premerge
artifacts will conflict with each other and the slower running job will
fail to upload the artifact.
2025-04-15 11:37:50 +00:00
Mark de Wever
3b1dafd427 [libc++][CI] Pin the XCode version. (#135412)
This version is the current version, to avoid unplanned automatic
updates in the future pin this version.
2025-04-14 18:57:53 +02:00
Aiden Grossman
97bc9137e5 [Github][CI] Upload artifacts directory for premerge workflow
The premerge pipeline currently creates an artifacts directory with some
statistics that gets uploaded on the buildkite side for later
inspection. This patch adds support for this on the Github side by using
the upload artifacts action.

Reviewers: Keenuts, lnihlen, mizvekov, tstellar, Endilll

Reviewed By: mizvekov

Pull Request: https://github.com/llvm/llvm-project/pull/135538
2025-04-14 09:37:47 +02:00
Aiden Grossman
339f58de16 [Github] Add llvm-symbolizer to CI container
This is needed for symbolizing some test failures. It is under 8MB, so there is
very little cost to adding it.
2025-04-12 05:22:13 +00:00
Aiden Grossman
ed4c397908 [Github] Bump workflows depending on CI container to ubuntu 24.04 (#133626)
This patch bumps workflows depending upon the Linux CI container to
ubuntu 24.04. The 22.04 container is no longer being built as it was
recently bumped to 24.04, so this patch moves all of these workflows
over to the new container to keep them updated and ensure they are using
an actually maintained version of the container image.
2025-04-10 13:13:50 -07:00
Farzon Lotfi
16c84c4475 [DirectX] Add target builtins (#134439)
- fixes #132303
- Moves dot2add from a language builtin to a target builtin.
-  Sets the scaffolding for Sema checks for DX builtins
-  Setup DirectX backend as able to have target builtins
- Adds a DX TargetBuiltins emitter in
`clang/lib/CodeGen/TargetBuiltins/DirectX.cpp`
2025-04-07 12:06:57 -04:00
Louis Dionne
b4f7a2ab57 [libc++] Bump OS version for macOS backdeployment CI jobs (#131883)
In 0547e573c5, I introduced backdeployment testing on macOS using
Github-provided builders. This was done by basically building libc++ on
a slightly older macOS (like macOS 13) and then running against the
system library on that machine. However, that created a dependency that
libc++ must keep working on macOS 13, which doesn't support the
latest-released Xcode.

This patch solves that problem by moving the deployment testing to a
newer version of macOS which supports the latest-released version of
Xcode.

Sadly, that also reduces the backdeployment coverage we have since we're
not actually testing on older OSes, but is necessary to satisfy the
documented libc++ support policy. In the future, we could improve the
situation by providing a Lit configuration that allows compiling (but
not running) all the tests, building the tests on a supported macOS, and
then shipping those tests on an older backdeployment target in order to
run them against the system library. Since that requires significant
engineering, this isn't done at this time.
2025-04-05 20:53:18 +02:00
Aiden Grossman
44923d8631 [Github] Bump Github Runner Version in Agent Containers
The Github runner version got bumped recently and it would be good to keep
this up to date. Also debugging an issue where Github ARC is failing to
create new pods and trying to see if it might be related to outdated
versions.
2025-04-05 06:46:16 +00:00