[qt/clang/llvm-project]: Summary of bulk changes made
KDE Git Services - Bulk Change <[email protected]>
| Newsgroups | gmane.comp.kde.cvs |
|---|---|
| Message-ID | <[email protected]> |
Git repository change summary for qt/clang/llvm-project
Pushed by mirror-service into branch 'upstream/users/skatrak/omp-func-filter-02-unreachable-targets'.
Changed from f03725767c7cbacdb1e2d07308a193e55c363924 to aa8e49327ea77afcfca2a8e1da4776c914ef22ad
Acknowledgement was received that this change introduces only existing code that has been pushed to another public open source repository.
This change contains the following new commits:
Git commit 4414edc7651814bd6453acaf7c324b1804251edf by GitHub (on behalf of Matt Arsenault) on 10/08/2026 at 11:24..
X86: Add baseline test for computeKnownBits poison+vector handling (#213325)
Currently computeKnownBits is too conservative with poison inputs.
https://invent.kde.org/qt/clang/llvm-project/-/commit/4414edc7651814bd6453acaf7c324b1804251edf
Git commit 9f0e070b34f550318c61bd8dd40c463c3b46ec23 by GitHub (on behalf of Ebuka Ezike) on 10/08/2026 at 11:24..
[lldb] Correct architecture comparison for Arm (#214771)
The arm architecture has different variants (arm64, armv8l e.t.c).
We only check if it starts with the arm prefix.
Follow up to #210946
https://invent.kde.org/qt/clang/llvm-project/-/commit/9f0e070b34f550318c61bd8dd40c463c3b46ec23
Git commit 878be2fadd3a1695eec2018e7f2001859ff87e4f by GitHub (on behalf of Chuanqi Xu) on 10/08/2026 at 11:37..
[C++20] [Modules] Don't treat non-named-module as interface unit for implementation unit (#215241)
Close https://github.com/llvm/llvm-project/issues/204633
https://invent.kde.org/qt/clang/llvm-project/-/commit/878be2fadd3a1695eec2018e7f2001859ff87e4f
Git commit 93edd6290c299260fc809f543a57fc0fbb58ecea by GitHub (on behalf of David Spickett) on 10/08/2026 at 11:47..
[lldb][test] Mark some tests as requiring Clang (#214197)
As they use clang specific debug information options.
https://invent.kde.org/qt/clang/llvm-project/-/commit/93edd6290c299260fc809f543a57fc0fbb58ecea
Git commit 2b6174bf44bc0d8a4ea7c5f73faca08277c35bbf by GitHub (on behalf of Simon Pilgrim) on 10/08/2026 at 11:49..
[X86] Enable pclmul/vpclmulqdq to SSE42+ PDEP/PEXT vector tests (#215244)
https://invent.kde.org/qt/clang/llvm-project/-/commit/2b6174bf44bc0d8a4ea7c5f73faca08277c35bbf
Git commit cc958e4be42923572cd73d3e64c34ea8a6c1b974 by GitHub (on behalf of Kieran B) on 10/08/2026 at 11:53..
[AArch64][GlobalISel] Avoid cross bank copies for NEON vcvtfp2fx results (#213277)
Currently, patterns to avoid cross bank copies for the intrinsic
vcvtfp2fx only work with SelectionDAG. This patch allows the DAG
patterns to work with GlobalISel.
SelectionDAG PR: #210275
https://invent.kde.org/qt/clang/llvm-project/-/commit/cc958e4be42923572cd73d3e64c34ea8a6c1b974
Git commit 9d3101b4f1d61906cfbdc7d7f8fcb775ddccf236 by GitHub (on behalf of Mészáros Gergely) on 10/08/2026 at 12:06..
[GlobalISel] Fix vector.deinterleave2 with <1 x float> results (#214718)
`translateVectorDeinterleave2Intrinsic` used to try to build
`G_SHUFFLE_VECTOR`
with a scalar result type, which is not valid.
This was the case because the LLT that corresponds to the `<1 x float>`
IR type is a scalar type, not a vector type.
Add a special case for scalar result types to build
`G_EXTRACT_VECTOR_ELT` instead.
Fixes: #214713
https://invent.kde.org/qt/clang/llvm-project/-/commit/9d3101b4f1d61906cfbdc7d7f8fcb775ddccf236
Git commit f7e6af8aa89a5a68f7c2877cdf2e3b47685eda01 by GitHub (on behalf of Timm Baeder) on 10/08/2026 at 12:09..
[clang][bytecode] Remove the !Caller case in Ret opcodes (#215226)
The bottom frame is always created via an `EvalEmitter`, which has its
own implementation of the `Ret` opcode. The exception is
`Context::Run`/`isPotentialConstantExpr`.
https://invent.kde.org/qt/clang/llvm-project/-/commit/f7e6af8aa89a5a68f7c2877cdf2e3b47685eda01
Git commit 975b04bb9ed3197ff5a3b8885c7ff892cff5a368 by GitHub (on behalf of Matt Arsenault) on 10/08/2026 at 12:11..
DAG: Skip poison elements in BUILD_VECTOR computeKnownBits (#213326)
This defends against regressions in future patches. Copies the logic
from the IR version of computeKnownBits's handling of ConstantVector.
I'm not sure why the IR version doesn't directly return a value for
poison, but this follows suit.
Co-authored-by: Claude (Claude-Opus-4.8)
https://invent.kde.org/qt/clang/llvm-project/-/commit/975b04bb9ed3197ff5a3b8885c7ff892cff5a368
Git commit a325d3d5149a54af530b532e42d998e7220a0c2f by GitHub (on behalf of Simon Pilgrim) on 10/08/2026 at 12:14..
[X86] combineX86ShuffleChain - bail if source inputs aren't simple vector types (#215249)
Fixes #215111
https://invent.kde.org/qt/clang/llvm-project/-/commit/a325d3d5149a54af530b532e42d998e7220a0c2f
Git commit 6f65ede5cb8bda88514d662b6bef531abff966e4 by GitHub (on behalf of Pankaj Dwivedi) on 10/08/2026 at 12:44..
[AggressiveInstCombine] Don't merge part stores across address spaces (#213677)
https://invent.kde.org/qt/clang/llvm-project/-/commit/6f65ede5cb8bda88514d662b6bef531abff966e4
Git commit 762d3765e99622584f64e853f92fd98354483da7 by GitHub (on behalf of David Spickett) on 10/08/2026 at 12:53..
[lldb][test] Remove Python <= 3.6 workaround (#215262)
re.Pattern was added in 3.7 and our minimum
is now 3.8.
Python 3.6.15:
>>> import re
>>> re.Pattern
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 're' has no attribute 'Pattern'
Python 3.7.17:
>>> import re
>>> re.Pattern
<class 're.Pattern'>
Python 3.8.20:
>>> import re
>>> re.Pattern
<class 're.Pattern'>
(it does not appear in documentation until 3.11)
https://invent.kde.org/qt/clang/llvm-project/-/commit/762d3765e99622584f64e853f92fd98354483da7
Git commit 00215059cc71b7a229c2d2fc70797018b927514c by GitHub (on behalf of Louis Dionne) on 10/08/2026 at 12:58..
[libc++] Simplify detection of win32-broken-utf8-wchar-ctype (#214797)
Instead of querying `_LIBCPP_HAS_LOCALIZATION` from Python, do it from
the source program. This fixes a bug where if `_LIBCPP_HAS_LOCALIZATION`
was not defined at all (which is the case for older versions of libc++),
the feature would then be defined immediately, regardless of the
platform we're on. That's because `and` has higher precedence than `or`
in Python, so we'd end up skipping the `_WIN32` check entirely.
https://invent.kde.org/qt/clang/llvm-project/-/commit/00215059cc71b7a229c2d2fc70797018b927514c
Git commit 45d4f997a664755e96243fbb1da49e22be8fb24e by GitHub (on behalf of Bagodiya) on 10/08/2026 at 13:04..
[InstCombine] Fold uadd.sat(X, C) - C to umin(X, ~C) (#215130)
`uadd.sat(X, C) - C --> umin(X, ~C)` for nonzero `C`.
The saturating add gives `X + C` or `UMAX`, so subtracting `C` leaves
`X` or
`UMAX - C`, which is the unsigned minimum. `UMAX - C == ~C`, so the
constant
is just the inverted `C`.
There was already a test documenting this miss in saturating-add-sub.ll
(`test_scalar_uadd_sub_const`) - it folds now.
https://alive2.llvm.org/ce/z/kLFWy7
Fixes #215103
https://invent.kde.org/qt/clang/llvm-project/-/commit/45d4f997a664755e96243fbb1da49e22be8fb24e
Git commit 9dfc65d43ae1fb83eda4684e3fe4c9a84a574a14 by GitHub (on behalf of David Spickett) on 10/08/2026 at 13:11..
[lldb] Remove Python 2 compatibility in PythonDataObjects.cpp (#215268)
Our minimum Python is 3.8.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9dfc65d43ae1fb83eda4684e3fe4c9a84a574a14
Git commit 4aa2d83fa19b11382917eaedfd10a495ac6feede by GitHub (on behalf of Balázs Benics) on 10/08/2026 at 13:11..
[clang][NFC] Extract getExpansionRangeInFile out of the diagnostic renderers (#214460)
Prep for the following commits, which fix crashes in the analyzer's
SARIF and HTML output on ranges that end inside a macro expansion.
Fixing them means mapping such a range into the reported file - the
normalization the frontend text and SARIF renderers already do, and that
the two analyzer consumers each do differently and incorrectly.
Hoist that logic into getExpansionRangeInFile, beside the DiagnosticRenderer
base both frontend renderers derive from, so the fixes reuse one
implementation instead of adding two more copies. TextDiagnostic and
SARIFDiagnostic move onto it here with no behavior change; the analyzer
consumers follow in later commits.
getFileID() replaces SARIFDiagnostic's getDecomposedLoc(...).first - equivalent
here, and what TextDiagnostic has used since c113cbb51005.
Assisted-By: claude
https://invent.kde.org/qt/clang/llvm-project/-/commit/4aa2d83fa19b11382917eaedfd10a495ac6feede
Git commit ad36a6b5419481f9bfe2d80d8528218f6ca97965 by GitHub (on behalf of Hendrik Hübner) on 10/08/2026 at 13:15..
Fix CGObjCGNU __cxa_rethrow return type (#214496)
PtrTy -> VoidTy
https://invent.kde.org/qt/clang/llvm-project/-/commit/ad36a6b5419481f9bfe2d80d8528218f6ca97965
Git commit 9d3e53a277723ab5ad56fca8e6069cfe04febc79 by GitHub (on behalf of Louis Dionne) on 10/08/2026 at 13:19..
[libc++] Add tools for gathering historical benchmark data (#212775)
Benchmarking every commit of libc++ is prohibitively expensive: a single
run of the benchmark suite takes hours, and the data has to be
regenerated from scratch whenever the compiler, the OS or the benchmark
machines change. These tools instead sample the history at a coarse
granularity and drive libcxx-benchmark-commit.yml to fill in what is
missing.
Three tools cooperate, meant to be run periodically:
select-anchor-commits picks one commit per calendar bucket from Git
plan-benchmarks diffs that against what LNT already holds
dispatch-benchmarks requests the corresponding workflow runs
They keep no state of their own. They recompute the current and target
states from LNT and the GitHub Actions API, which allows running them in
a CRON. The dispatching of workflows is done using a budget, to avoid
launching tens of jobs and competing with other uses of the CI
resources.
The first pass of these tools was assisted by Claude, but I reviewed and
tweaked everything that needed it.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9d3e53a277723ab5ad56fca8e6069cfe04febc79
Git commit 786ed0d4d3b337711e2d542369cb03369482a113 by GitHub (on behalf of Brian Cain) on 10/08/2026 at 13:22..
[Hexagon] Fix unusable SCS reg, make it selectable (#213820)
SCS hardcoded r19 as the shadow call stack pointer and required
-ffixed-r19. That was the wrong register to pick: r19 is precisely the
one the intended consumers cannot give up, so the feature was unusable
in practice.
* The Hexagon Linux kernel already reserves r19 for its thread-info
pointer (arch/hexagon/Makefile: "TIR_NAME := r19", documented there as
not configurable because it is hard-coded in several files).
* hexagon-hypervisor reserves r20-r28 (kernel/CMakeLists.txt), with r28
bound to a register global (H2K_gp).
That leaves h2 only r16-r19, so no single hardcoded choice can serve
both consumers.
Intersecting that with the callee-saved regs leaves r1{6,7,8}. So the
new default is r18.
* Add scs-reg-r{16..27} subtarget features
* Add a -mscs-reg=<reg> flag. It's in m_Group instead of
m_hexagon_Features_Group, since the latter is consumed by
handleTargetFeaturesGroup() and would synthesize a bogus "+scs-reg="
feature.
https://invent.kde.org/qt/clang/llvm-project/-/commit/786ed0d4d3b337711e2d542369cb03369482a113
Git commit c405fd3870aadfce5a9cf1a13f0da8aaeb8d3854 by GitHub (on behalf of Ivan R. Ivanov) on 10/08/2026 at 13:25..
[mlir][acc] Fold present() clauses on device values (#212815)
The compiler must emit acc.device_ptr mapping for device values,
however, an existing present clause prevents that. A present on a device
value always holds, so fold it away to allow implicit data handling to
generate device_ptr mapping.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c405fd3870aadfce5a9cf1a13f0da8aaeb8d3854
Git commit ef4d4d074570232364982564782c86083d5dcf78 by GitHub (on behalf of Tom Stellard) on 10/08/2026 at 13:27..
release-tasks: Disable lit publishing for release candidates (#214972)
There is no rc in the lit version string, so release candidates get
published using the non-rc version number.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ef4d4d074570232364982564782c86083d5dcf78
Git commit b6a9f2f765e49740062847a3319a4dc4cc5ebab1 by GitHub (on behalf of Tom Stellard) on 10/08/2026 at 13:29..
workflows/release-task: Stop uploading lit to test.pypi.org (#214979)
The gh-action-pypi-publish action only supports being run once per job.
Running it twice results in the second upload always failing. Rather
than trying to create a complicated job structure to support uploading
to test.pypi.org and pypi.org, we just remove the test.pypi.org upload
for now.
https://invent.kde.org/qt/clang/llvm-project/-/commit/b6a9f2f765e49740062847a3319a4dc4cc5ebab1
Git commit 9c7ba7b1d12ed3f395a2317c525a98e5bfcf28e9 by GitHub (on behalf of Sean Perry) on 10/08/2026 at 13:32..
[AIX][SystemZ][Support] Check if file is dir on open instead of read (#214815)
See
https://github.ibm.com/compiler/llvm-project/commit/678f19f08296fec299438130cf5943714c590b7e
for the original change.
This original change would run fstat() on the file at every read(). In
the non-error situation that is a lot of redundant checking. Moving the
fstat() check to openNativeFileForRead() will reduce the checks to a
minimum and still produce the same error if someone tries to open a
directory.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9c7ba7b1d12ed3f395a2317c525a98e5bfcf28e9
Git commit 0fd7db2e0014504c97e517190e929df638d2036a by Sergio Afonso on 10/08/2026 at 13:32..
[Flang][MLIR][OpenMP] Move function filtering to the omp dialect
The `FunctionFilteringPass`, which removes host-only functions when
compiling for an OpenMP target device, is currently defined only for
Flang. However, it implements logic that would generally be useful for
other frontends that can generate OpenMP offloading code. This patch
makes that transition by implementing the following changes:
- It rewrites the `FunctionFilteringPass` to work on lower level non-FIR
MLIR modules.
- It splits off preexisting logic to check for not-yet-implemented target
device features during function filtering to its own pass and it improves
context detection to properly diagnostic only device code.
- It delays function filtering to run at the end of the pipeline, as well
as the `MarkDeclareTargetPass`. This will enable the latter to run
only once in the pipeline after the `UnimplementedDeviceCheckPass`
becomes no longer necessary.
One side effect of these changes is that delaying the filtering will
cause all following passes to process host functions that are eventually
deleted. On the other hand, it minimizes divergence between host and
device MLIR modules making passes such as the `DeleteUnreachableTargets`
no longer necessary, as well as allowing passes to introduce new host
functions without causing problems on the device.
https://invent.kde.org/qt/clang/llvm-project/-/commit/0fd7db2e0014504c97e517190e929df638d2036a
Git commit 929c54594cace49fe8963781742fde856874dfcc by Sergio Afonso on 10/08/2026 at 13:32..
address review comments
https://invent.kde.org/qt/clang/llvm-project/-/commit/929c54594cace49fe8963781742fde856874dfcc
Git commit c008226020ee05307108218eb29042e222a7bdfa by Sergio Afonso on 10/08/2026 at 13:33..
[Flang][OpenMP] Remove the DeleteUnreachableTargets pass
The `DeleteUnreachableTargets` pass was initially added to work around
a problem caused by the interaction between the function filtering and
host op filtering passes and generic MLIR optimizations.
Specifically, by running function and host op filtering before these
optimizations, we would lose the ability to detect unreachable
`omp.target` operations when compiling for the device. This would cause
GPU kernels being created for them, for which no host counterpart
existed.
By now having moved both passes towards the end of the compilation
pipeline, after FIR to LLVM lowering, removal of unreachable host and
device code is no longer impacted by them. This makes the
`DeleteUnreachableTargets` pass redundant.
https://invent.kde.org/qt/clang/llvm-project/-/commit/c008226020ee05307108218eb29042e222a7bdfa
Git commit aa8e49327ea77afcfca2a8e1da4776c914ef22ad by Sergio Afonso on 10/08/2026 at 13:33..
Address review comments
https://invent.kde.org/qt/clang/llvm-project/-/commit/aa8e49327ea77afcfca2a8e1da4776c914ef22ad