Nominate Endilll as Python bindings maintainer (#176416)
We have the python library bindings in Clang and Vlad has been doing all
of the work of a maintainer in terms of code reviews and answering
questions about the python bindings.
[win][x64] Guarantee shape of tail call to a control flow guard function (#174108)
For the purposes of Import Call Optimization, a tail call to a Control
Flow Guard function must always be lowered as `TAILJMPm64_REX`. This is
useful in general, as we know that the call will be handled via a fixup
rather than needing scratch registers for base+index.
This change introduces a new pseudo-instruction, `TCRETURN_CFG`,
specifically for the purposes of noting that there is a "tail-call
return" control flow guard function call, which is then always lowered
to `TAILJMPm64_REX` instead of relying on pattern matching.
[win] Replace the .seh_startchained and .sehendchained instructions with .seh_splitchained (#172895)
LLVM's existing support for chaining x64 Windows SEH frame infos is
broken. Windows requires that each frame info (including the parent) is
adjacent, but not overlapping, and the whole function is covered (i.e.,
each instruction maps to exactly one frame info). Therefore, having
start/end chaining pseudo instructions doesn't make any sense, as every
"end chain" pseudo would need a start pseudo immediately after it or be
at the end of function.
This change switches having a "split chain" pseudo instruction that ends
the current frame and starts a new chained frame.
Added a release note about the replacement - to my knowledge there is no
one actually using frame info chaining, so it is highly unlikely that it
will break any code.
Split off from #159206
InstCombine: Fix duplicated code in SimplifyDemandedFPClass fabs handling
2b03d68398819fe3608c680d6c25aa9d5a043c03 factored this into a function
and used from the new place, but forgot to delete the old code from
the original location.
[CAS] Add OnDiskCASLogger to help logging/debugging CAS (#174462)
Adds a CAS logging interface to track mutations of the CAS and action
cache database files. This is designed to aid in the debugging of
data corruption and other issues with the low-level on-disk
representation.
To enable logging, set the environment variable LLVM_CAS_LOG to 1 or 2.
Level 2 includes logging of all allocations inside the index, action
cache, and datapool, which increases the overhead. The log file is
placed inside the top-level directory of the unified cache. For now it
is a human-readable textual format with one line per entry.
lang/go124: Update to 1.24.12
Changes:
go1.24.12 (released 2026-01-15) includes security fixes to the go
command, and the archive/zip, crypto/tls, and net/url packages, as well
as bug fixes to the compiler, the runtime, and the crypto/tls and os
packages.
[InstCombine] Fold `(trunc X)` into `X & Mask` inside `decomposeBitTestICmp` (#171195)
Resolves #170020.
Added another case to the `ICmp::EQ`/`ICmp::NE` case in the switch
inside `decomposeBitTestICmp` to convert `trunc X` into a `X & Mask`.
NAS-139315 / 26.04 / fix iscsi extent create w/ snapshots (#18050)
The new libzfs module we wrote actually adheres to the API and doesn't
silently ignore errors. The volthreading and readonly zfs properties do
not apply to snapshots.
[AArch64] Treat LD1 as cheap in getVectorInstrCostHelper on Apple cores. (#175970)
On Apple Silicon cores, single-element LD1 have should have the same
performance characteristics as regular loads. Consider the insert for
insertelement (load) as free
In terms of additional code-gen changes, this enables unrolling in more
cases, due to the dynamic cost of vector loops with scalar loads +
insert being estimated more accurately.
PR: https://github.com/llvm/llvm-project/pull/175970
[libcxx] Bump release runner image version (#176184)
Now that v22 has branched, we need to update the release runner version
so we get appropriate testing on the release branch.
lang/go125: Update to 1.25.6
Changes:
go1.25.6 (released 2026-01-15) includes security fixes to the go
command, and the archive/zip, crypto/tls, and net/url packages, as well
as bug fixes to the compiler, the runtime, and the crypto/tls, errors,
and os packages.
[lldb][NFC] Replace createStringError/llvm::formatv pairs with createStringErrorV (#176428)
Makes use of the recently introduced `llvm::createStringErrorV` API.
It's designed exactly for this use-case.