[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/main'.
Changed from 71a7c24dec4fe7ab5eda28650cf8d9138b9ca994 to 3c6b4870425e7b62a966ff04f51f78920adbedb8
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 5337314b4bea4be5e86396eb21e59f4d123af175 by GitHub (on behalf of Aiden Grossman) on 16/07/2026 at 23:45..
[WebAssembly] Port WebAssemblySetP2AlignOperandsPass
Standard NewPM pass porting.
Reviewers: dschuff, sbc100, aheejin
Pull Request: https://github.com/llvm/llvm-project/pull/209871
https://invent.kde.org/qt/clang/llvm-project/-/commit/5337314b4bea4be5e86396eb21e59f4d123af175
Git commit 0fc03f0454b5a5d6d35338a6f4d1092960d63e17 by GitHub (on behalf of Reid Kleckner) on 16/07/2026 at 23:46..
[bolt][docs] Rename BOLT docs to Markdown (#210198)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.
https://invent.kde.org/qt/clang/llvm-project/-/commit/0fc03f0454b5a5d6d35338a6f4d1092960d63e17
Git commit 2494e80d1cd91911713ec8451a961e07b9da8b9c by GitHub (on behalf of Aiden Grossman) on 16/07/2026 at 23:46..
[WebAssembly] Port WebAssemblyFixBrTableDefaultsPass
Standard NewPM pass porting.
Reviewers: dschuff, sbc100, aheejin
Pull Request: https://github.com/llvm/llvm-project/pull/209882
https://invent.kde.org/qt/clang/llvm-project/-/commit/2494e80d1cd91911713ec8451a961e07b9da8b9c
Git commit d0dd060443b657f3d96bd1b2dcd32974cccfa6fc by GitHub (on behalf of Shilei Tian) on 16/07/2026 at 23:46..
[NFC] Use new target triple for some tests (#210202)
They were mistakenly reverted back to the old ones.
https://invent.kde.org/qt/clang/llvm-project/-/commit/d0dd060443b657f3d96bd1b2dcd32974cccfa6fc
Git commit 565ef24d6c1b31e2fbf736b2b115d49d49b86af7 by GitHub (on behalf of Aiden Grossman) on 16/07/2026 at 23:48..
[WebAssembly] Port WebAssemblyCleanCodeAfterTrapPass
Standard NewPM pass porting.
Reviewers: sbc100, dschuff, aheejin
Pull Request: https://github.com/llvm/llvm-project/pull/209892
https://invent.kde.org/qt/clang/llvm-project/-/commit/565ef24d6c1b31e2fbf736b2b115d49d49b86af7
Git commit 03ab16cb415ff8dc2cb06332a628b79a718c74d8 by GitHub (on behalf of Reid Kleckner) on 16/07/2026 at 23:57..
[docs] Finish MyST migration for BOLT docs (#210199)
Tracking issue: #201242
See the [migration guide] for more information.
[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines
This is a stacked PR based on #210198, which will be a standalone commit
that
renames *.rst -> *.md before this PR lands for history preservation
purposes.
This was prepared with rst2myst plus LLM-assisted cleanup. I paged
through all the generated HTML looking for migration artifacts, and all
of the differences I could find appear to be formatting error
corrections. Please spot check my work and approve if it looks good. You
can use the HTML links below to confirm it renders properly.
-----
Before/after validation links:
| Source file | Before HTML | After HTML |
| --- | --- | --- |
| `bolt/docs/BOLTAArch64OptimizationStatus.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/bolt/docs-old/BOLTAArch64OptimizationStatus.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/bolt/docs/BOLTAArch64OptimizationStatus.html)
|
| `bolt/docs/GettingStarted.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/bolt/docs-old/GettingStarted.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/bolt/docs/GettingStarted.html)
|
| `bolt/docs/index.md` |
[before](https://llvmdocs.staging.reidkleckner.dev/bolt/docs-old/index.html)
|
[after](https://llvmdocs.staging.reidkleckner.dev/bolt/docs/index.html)
|
https://invent.kde.org/qt/clang/llvm-project/-/commit/03ab16cb415ff8dc2cb06332a628b79a718c74d8
Git commit 611d015f0030e0d4f1b3bd2270205f6f6b6e20eb by GitHub (on behalf of Peter Collingbourne) on 17/07/2026 at 00:03..
gn build: Support building debug binaries from a release build directory.
This change makes it so that all binaries in `bin` have a corresponding
debug binary target `$TARGET.dbg` that will build a debug binary in
`bin.dbg/$TARGET`. This is implemented using a separate toolchain for
the debug builds. This has the following advantages over a separate
debug build directory:
1. Can use release mode tblgen to generate code for the debug build
binaries, which speeds up the build because it can run tblgen faster as
well as being able to reuse the tblgen binary from the release build.
2. Can reuse runtimes built in the release mode clang's resource
directory, avoiding the need to build them again with a slow debug
build of clang.
Assisted-by: gemini
Reviewers: aeubanks, nico
Reviewed By: aeubanks
Pull Request: https://github.com/llvm/llvm-project/pull/197843
https://invent.kde.org/qt/clang/llvm-project/-/commit/611d015f0030e0d4f1b3bd2270205f6f6b6e20eb
Git commit a45ae4cf77776bdae8ab79c3b5b4d4ef7cbd7d99 by GitHub (on behalf of lntue) on 17/07/2026 at 00:11..
[libc][math] Fix double-rounding errors with denormal inputs for hypot function. (#208247)
The issue was reported by Paul Zimmermann.
Solution: for denormal inputs, we use 1.0 + x trick after proper scaling
to mimick rounding at denormal scale.
https://invent.kde.org/qt/clang/llvm-project/-/commit/a45ae4cf77776bdae8ab79c3b5b4d4ef7cbd7d99
Git commit eafc387c1da0620642f469fde70455c554ba3470 by GitHub (on behalf of Lang Hames) on 17/07/2026 at 00:19..
[orc-rt] Add asCCallback utility -- C callbacks for methods. (#210048)
Adds orc_rt::asCCallback<&Class::method>, which produces a C-ABI
function pointer that forwards to the given member function. The first
parameter of the generated trampoline is an opaque context pointer (
void * for non-const methods, const void * for const methods) that is
cast back to the class type and used as the receiver:
struct Counter {
void inc(int N) { Count += N; }
int Count = 0;
};
Counter C;
void (*CB)(void *, int) = asCCallback<&Counter::inc>;
CB(asCCallbackContext<&Counter::inc>(C), 2); // C.Count == 2
asCCallbackContext produces the matching context pointer via
static_cast, so any base-class offset is applied and const-ness is
preserved; pairing it with asCCallback by the same method keeps things
correct under inheritance and const-qualification. (A raw cast of &C
would give the trampoline the wrong `this` when method's class is a base
at a non-zero offset.)
Specializations cover the const x noexcept combinations. The trampoline
is always noexcept -- a C caller cannot unwind a C++ exception, so an
escaping one terminates -- and return/argument types are restricted to
C-compatible (non-reference, trivially copyable) types via
static_assert.
https://invent.kde.org/qt/clang/llvm-project/-/commit/eafc387c1da0620642f469fde70455c554ba3470
Git commit 5658411aed0f610380323918ce4b02016f2df6f2 by GitHub (on behalf of Kaitlin Peng) on 17/07/2026 at 00:23..
[SPIRV] Pack 64-bit vec2 typed buffers into 4x32-bit images (#208626)
https://invent.kde.org/qt/clang/llvm-project/-/commit/5658411aed0f610380323918ce4b02016f2df6f2
Git commit 6b9929001d0b46d087e871934e50e4783147fa7d by GitHub (on behalf of Amir Ayupov) on 17/07/2026 at 00:31..
[BOLT] Add fdata symbols mode (#209932)
Add a new fdata profile mode accepting symbol names as-is.
It addresses the UX gap surfaced by #208313 that all methods of selecting
functions to process (symbolized profile types, `-funcs*` options) expect
disambiguated local symbols.
Introduce fdata mode activated by a `symbols` header line, where each subsequent
line is a (mangled) symbol name. The names are matched against restored function
names (with disambiguation suffix stripped), and every matching function gets an
execution count of 1.
This can be used to drive selective instrumentation (`--instrument-hot-only`) or
basic linker-script style optimizations.
Symbols are stored as branch entry data so matching reuses the existing default
branch profile path.
Test Plan:
Update docs/profiles.md and add profile-symbols-mode.s
https://invent.kde.org/qt/clang/llvm-project/-/commit/6b9929001d0b46d087e871934e50e4783147fa7d
Git commit 398f2117379f42764e433d19ea0d0cd65009a4aa by GitHub (on behalf of Aviral Goel) on 17/07/2026 at 00:41..
[clang][ssaf] Add static-library create subcommand (#208799)
This change adds `clang-ssaf-linker static-library create` for bundling
TU summaries into a StaticLibrary archive. The linker has been
refactored to dispatch on `cl::SubCommand`; invocations without a
subcommand still run the existing linker pipeline unchanged for backward
compatibility.
rdar://181930526
https://invent.kde.org/qt/clang/llvm-project/-/commit/398f2117379f42764e433d19ea0d0cd65009a4aa
Git commit 9f839a4396916283cc28e45d18d7f4742ad5094a by GitHub (on behalf of Alexey Bataev) on 17/07/2026 at 00:52..
[SLP][NFC]Fix non-determinism in pointers comparison, NFC
Reviewers:
Pull Request: https://github.com/llvm/llvm-project/pull/210216
https://invent.kde.org/qt/clang/llvm-project/-/commit/9f839a4396916283cc28e45d18d7f4742ad5094a
Git commit a07b91d8243b8a8051dbbe5739eacc7942269c61 by GitHub (on behalf of Med Ismail Bennani) on 17/07/2026 at 01:00..
[lldb/script] Migrate frame recognizers onto ScriptedPythonInterface (#209805)
Give `frame recognizer add -l` a formal
ScriptedStackFrameRecognizerInterface, matching the architecture already
used by ScriptedProcess, ScriptedBreakpoint, etc.: a C++ interface
header, a Python-backed implementation built on
ScriptedPythonInterface's CreatePluginObject/Dispatch machinery,
PluginManager registration, and a generatable Python ABC template
(scripted_stackframe_recognizer.py).
get_recognized_arguments' documented contract returns a plain list of
lldb.SBValue (not an lldb.SBValueList), so it bypasses the generic
Dispatch<ValueObjectListSP>() extractor and calls the SWIG bridge
directly, matching the legacy behavior exactly.
ScriptedStackFrameRecognizer now holds a single interface object created
once in its constructor and reused across every RecognizeFrame() call,
same lifecycle as before.
Signed-off-by: Med Ismail Bennani <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/a07b91d8243b8a8051dbbe5739eacc7942269c61
Git commit 3e1948e9a528d1bc82f2a671a00c02fa8717f26f by GitHub (on behalf of Eric Christopher) on 17/07/2026 at 01:10..
Add expression validation tests for DW_OP_swap (#210184)
Add DIExpression validation tests for DW_OP_swap that we noticed were
missing. The tests are based on the existing expression tests for
DW_OP_stack_value.
Tested via make check.
Assisted by AI.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3e1948e9a528d1bc82f2a671a00c02fa8717f26f
Git commit b9869c8c920a7dfa983e215bc30729b13d8b353b by GitHub (on behalf of Shanzhi Chen) on 17/07/2026 at 01:21..
[AArch64][SVE] Support lowering masked loads/stores of <4 x bf16> and <8 x bf16> (#208744)
Add support for lowering masked loads/stores of <4 x bf16> and <8 x
bf16> when target features contain "+sve" and "+bf16".
Fixes: #201149
https://invent.kde.org/qt/clang/llvm-project/-/commit/b9869c8c920a7dfa983e215bc30729b13d8b353b
Git commit 464b46a73b7592c95222cf2e64b34ffe6f2cf251 by GitHub (on behalf of Benjamin Luke) on 17/07/2026 at 01:21..
[clang][CodeGen][X86_64] Honor per-function AVX ABI in C/C++ call paths, maintain old psABI for PlayStation. (#193298)
Fixes https://github.com/llvm/llvm-project/issues/64706
Wire per function x86 AVX ABI level into CodeGen arrangement methods so
__attribute(__target("avx"))) / __attribute(__target("avx512f"))) on
methods, ctors, and free-functions affects ABI lowering consistently.
Specifically:
- Added X86AVXABILevel member to CGFunctionInfo.
- Populated X86AVXABILevel member in CGFunctionInfo objects via
arrangement methods declared in CodeGenTypes.h.
- Respect CGFunctionInfo AVX Level in X86_64ABIInfo::computeInfo.
- Add/extend regression tests for:
- free-function target-attribute AVX ABI lowering
- C++ method/ctor target-attribute AVX ABI lowering
- PS4/PS5 legacy ABI behavior (no per-function AVX ABI change)
---------
Co-authored-by: Aaron Ballman <[email protected]>
https://invent.kde.org/qt/clang/llvm-project/-/commit/464b46a73b7592c95222cf2e64b34ffe6f2cf251
Git commit 7fec267c9a44c76604e1135ee0ef694c4eaae784 by GitHub (on behalf of sohail) on 17/07/2026 at 01:40..
[libc][stdfix] Guard DiviFxTest shift edge cases against narrow IntType (#209970)
Fixes riscv32 buildbot failure from #206115.
https://invent.kde.org/qt/clang/llvm-project/-/commit/7fec267c9a44c76604e1135ee0ef694c4eaae784
Git commit 9d2181c78f4e248069e39ec0e5b899dfbfcf3d6a by GitHub (on behalf of Eric Christopher) on 17/07/2026 at 02:03..
[NFC] Reuse DwarfExpression fragment (#210181)
Reuse DwarfExpression fragment information since nothing changes it
between the outside of the loop and the inside of the loop.
Tested via make check.
Assisted by AI.
https://invent.kde.org/qt/clang/llvm-project/-/commit/9d2181c78f4e248069e39ec0e5b899dfbfcf3d6a
Git commit 1a3347f608394b12c5a18cb5b3457af4e85449a1 by GitHub (on behalf of Jordan Rupprecht) on 17/07/2026 at 02:03..
[bazel][clang][ssaf] Fix 398f2117379f42764e433d19ea0d0cd65009a4aa (#210222)
https://invent.kde.org/qt/clang/llvm-project/-/commit/1a3347f608394b12c5a18cb5b3457af4e85449a1
Git commit 27d7b61322f1528cc582a62d1b74683d24cc987b by GitHub (on behalf of Harrison Hao) on 17/07/2026 at 02:16..
[GVN][NFC] Use LoadInst::getProperties() when creating PRE load (#208605)
Use load's properties via getProperties() instead of individually
forwarding isVolatile(), getAlign(), getOrdering() and getSyncScopeID().
Reference: https://github.com/llvm/llvm-project/pull/206470
https://invent.kde.org/qt/clang/llvm-project/-/commit/27d7b61322f1528cc582a62d1b74683d24cc987b
Git commit 4a75259134c72d8be7fa3ea36c9dc7bfc02640ac by GitHub (on behalf of hev) on 17/07/2026 at 02:23..
[LoongArch] Fix invalid VEXTH combines for unsupported type extensions (#209725)
`performEXTENDCombine` could form `VEXTH`/`VEXTH_U` nodes for
unsupported type combinations, such as extending `v8i8` to `v8i32` or
`v2i64` to `v2i128`. These illegal nodes would later reach instruction
selection and trigger backend failures:
* `Cannot select: LoongArchISD::VEXTH`
* `Don't know how to legalize this operation`
Prevent these combines from firing by verifying that the destination
type is legal and has exactly twice the total bit width of the source
before forming a `VEXTH`/`VEXTH_U` node.
Apply the same checks to `performSHLCombine` for consistency.
Fixes
https://github.com/llvm/llvm-project/pull/207316#issuecomment-4978234865
Fixes
https://github.com/llvm/llvm-project/pull/207316#issuecomment-4979233899
https://invent.kde.org/qt/clang/llvm-project/-/commit/4a75259134c72d8be7fa3ea36c9dc7bfc02640ac
Git commit 8aaa15e82688177db7c0c3fa06103d10f6799598 by GitHub (on behalf of Haohai Wen) on 17/07/2026 at 02:55..
[ObjectYAML][NFC] Hoist BBAddrMap yaml2obj encoder into a shared helper (#205991)
Preparatory NFC refactor to let the upcoming COFF emitter reuse the
BBAddrMap YAML encoder.
https://invent.kde.org/qt/clang/llvm-project/-/commit/8aaa15e82688177db7c0c3fa06103d10f6799598
Git commit ddd21a5500bc65354211c0088520d0b331e862d7 by GitHub (on behalf of Vijay Kandiah) on 17/07/2026 at 03:56..
[flang][cuda] Managed backing for -gpu=unified allocatables/pointers (#210149)
Under `-gpu=unified`, allocatables and pointers with no explicit CUDA data
attribute must be reachable from the device. Back them with CUDA managed
memory by selecting the unified allocator index at the ALLOCATE site (in
lowering), instead of stamping an implicit `Unified`/`Managed` CUDA data attribute
on the symbol in the frontend — the approach introduced in PR #209292.
This is necessary because attributing the symbol in the frontend routed every
plain allocatable/pointer through the CUDA Fortran managed descriptor
pipeline (constructor registration, `cuf.allocate`/`cuf.free`), which added
per-`ALLOCATE` overhead, forced special-casing for objects that may not legally carry a
CUDA attribute (COMMON members, derived-type components, module globals), and
changed symbol semantics used well beyond allocation. Choosing the allocator
index at the `ALLOCATE` site keeps the object a plain host allocatable/pointer while
the storage still comes from the managed allocator.
https://invent.kde.org/qt/clang/llvm-project/-/commit/ddd21a5500bc65354211c0088520d0b331e862d7
Git commit 963e226d9a6b923b10c8e328438838bd42e03d18 by GitHub (on behalf of Tom Stellard) on 17/07/2026 at 04:06..
workflows: Fixes for release-binaries and upload-release-artifact (#209246)
There were some bugs in upload-release-artifact workflow and
release-binaries was not including this action in its checkout.
https://invent.kde.org/qt/clang/llvm-project/-/commit/963e226d9a6b923b10c8e328438838bd42e03d18
Git commit fe64fbbafc19e46ef461fac3ec0b4144a1ffc847 by GitHub (on behalf of Madhur Amilkanthwar) on 17/07/2026 at 04:37..
[SLP][modularisation][NFC] Extract mask, shuffle and AA helpers into SLUtils 3/3 (#209973)
Move the mask/shuffle construction and alias-analysis free helpers out
of SLPVectorizer.cpp into SLPVectorizer/SLPUtils.{h,cpp} (namespace
llvm::slpvectorizer).
Moved:
transformScalarShuffleIndiciesToVector
getShufflevectorNumGroups
calculateShufflevectorMask
UseMask (enum)
buildUseMask
isUndefVector
doesInTreeUserNeedToExtract
getLocation
isSimple
addMask
fixupOrderingIndices
getAltInstrMask
replicateMask
RFC: https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922
https://invent.kde.org/qt/clang/llvm-project/-/commit/fe64fbbafc19e46ef461fac3ec0b4144a1ffc847
Git commit 3c6b4870425e7b62a966ff04f51f78920adbedb8 by GitHub (on behalf of Lang Hames) on 17/07/2026 at 04:45..
[orc-rt] Add TaskGroup::TokenSource; drop raw group accessor (#210240)
Session::managedCodeTaskGroup() returned the raw
std::shared_ptr<TaskGroup> for the managed-code group, exposing the
group's full interface -- including close() and addOnComplete() -- to
callers, even though those operations are reserved for the Session.
Add TaskGroup::TokenSource, a strong handle whose sole role is to serve
as an argument to the TaskGroup::Token constructor. Session now exposes
managedCodeTokenSource() in its place, so clients can acquire tokens (to
keep managed code alive across shutdown) without gaining the ability to
close the group or register completion callbacks.
https://invent.kde.org/qt/clang/llvm-project/-/commit/3c6b4870425e7b62a966ff04f51f78920adbedb8