[PDB] Correctly read/write the named stream map's niMac value (#225729)
The serialization of a PDB stream's named stream map ends with an
integer value, NMTNI::niMac in the microsoft-pdb code.
Since 05d5e6136f5a3f5de28ae64077200bbdc2cacfb4, LLVM was writing this
out as an undocumented zero between the named streams map and feature
codes, and reading it as an unknown/ignored feature code.
The actual value doesn't seem particularly important, but it's better to
read/write these explicitly, and it should not be read as a feature
code.
This fixes one of the issues in
https://github.com/llvm/llvm-project/issues/206120
[RISCV] Require Zve32f for XAndesVSIntH FP conversions (#226001)
`XAndesVSIntH` currently implies only `Zve32x`. This commit requires
vector floating-point support for its four integer-to-FP conversion
instructions.
[Clang][OpenMP] Use the list item location as point of instantiation in mapper lookup (#225604)
Fixes #154704
When a variable is implicitly mapped on `#pragma omp target`, Clang
looks for a user-defined mapper for its type through ADL, and ADL may
have to instantiate class template specializations named by the type's
template arguments (for `std::map<int, int>` that's its allocator).
Implicit map clauses carry no source location by design, and the
"default" mapper id was stamped with that empty location, so the
instantiation was recorded with an invalid point of instantiation and
`setPointOfInstantiation` asserted.
`buildUserDefinedMapperRef` now takes the location of the mapped list
item and uses it for the ADL and the derived-class checks, which is what
the other default-mapper lookups in `SemaOpenMP.cpp` already did.
Diagnostics about the mapper id and the mapper reference itself keep the
mapper-id location, so explicit `mapper(id)` behavior is unchanged. The
instantiation is now attributed to the mapped variable inside the
region, which is also where the "in instantiation requested here" note
points.
[AArch64][PAC] Reset `killed` operand flags in outlined functions
Presently, MachineOutliner does not take `killed` operand flags into
account when merging instruction sequences. While it sounds perfectly
reasonable not to inhibit merging of the instruction sequences that
only differ in `killed` flags (for N flags there is technically 2^N
valid ways to drop some subset of them), copying these flags from
an arbitrarily chosen representative instruction may result in
incorrect codegen of PAuth-related pseudo instructions on AArch64.
To keep `killed` flags conservatively correct as if `OUTLINED_FUNCTION`s
are virtually re-inserted at every call site, this patch takes the
simplest approach of resetting every `killed` flag inside the
outlined functions.
[ConstantFolding] Use getGetElementPtr() overload accepting DataLayout (#226104)
To directly create the constant GEP in canonical form. The practical
effect is that we a) canonicalize vector GEPs and b) decline to
create a GEP which can't be represented in ptradd form (in the
constant_fold_custom_dl test due to a non-canonical index type).
CodeGen: Move Generic sjlj test to Transforms
Test the IR-only SjLjEHPrepare pass in the dedicated pass test
directory. Also add the module flag so it is really triple
independent.
[flang][cuda] Share the managed companion pointer across translation units (#225710)
A non-allocatable managed module variable is accessed through a
companion pointer in the `__nv_managed_data__` section, which the CUDA
runtime fills in with the unified memory address at module
initialization. Every translation unit referencing the variable emitted
its own internal pointer and registered it. The runtime populates only
the registration performed first for a given variable name (*), so every
other unit was left loading through a null pointer and crashed at run
time.
Emit a single pointer with external linkage instead. The unit defining
the variable emits the definition, zero-initialized and in
`__nv_managed_data__`, and registers it; a unit that only USEs the
variable emits a declaration and no registration, resolving to that
definition at link time.
(*) I verified this using the following reproducer:
[31 lines not shown]
[X86] Prepare bdver tests for TuningPrefer128Bit (#226103)
Ensure the check prefixes correctly handle XOP targets independently,
I've also reordered some of the tests so we can cleanly order the
eventual AVX128/AVX256/AVX512 checks
Help reduce the diff for #225838
[RISCV] Remove getMaxLMULForFixedLengthVectors. NFC
The value can no longer be overridden after https://github.com/llvm/llvm-project/pull/207312. Now there's nothing specific about it to fixed vectors, so just inline it.
key= in the signify gzip comment used to include the path, but this was
dropped in signify.c:1.137 so that only bare filenames are used. teach
pkg_add about this so that the signer is still recorded in +CONTENTS
for installed packages. from espie
py-yarl: updated to 1.25.1
v1.25.1
Contributor-facing changes
- Stopped running the test suite inside the riscv64 wheel builds; every wheel
for that architecture is built under emulation and the test run did not fit
in the job timeout.
v1.25.0
Bug fixes
- Made the C and pure Python quoting implementations reject ``%`` in ``safe``
or ``protected`` when requoting and a space in ``safe`` or ``protected`` for
query strings, since the two implementations disagreed on those
configurations.
[15 lines not shown]
[clang][AArch64] Consolidate codegen tests for SVE's DUP intrinsics (#223933)
This patch completes the migration of the tests from:
* clang/test/CodeGen/AArch64/sve-intrinsics/acle_sve_dup.c
to:
* clang/test/CodeGen/AArch64/sve/dup.c
`dup.c` covers all the cases previously tested by `acle_sve_dup.c`.
However, unlike `acle_sve_dup.c`, it was only tested as C. Add `-x c++`
RUN lines to provide the equivalent C++ coverage, including lowering
via CIR.
py-wcwidth: updated to 0.9.1
0.9.1 *2026-09-23*
* **Bugfix** a regression in 0.9.0 Python and libwcwidth_ `width()`_ mis-measured CSI sequences
over 64 bytes
* **Performance** improvement of ~15% for 11 many Python API functions when using
default ``ambiguous_width`` and ``term_program`` arguments.
0.9.0 *2026-09-23*
* **New** Optional CPython extension using libwcwidth_, improving performance 10-58x
* **Drop Support** for Python 3.8
AMDGPU: Invalidate VCC live ranges when lowering kill instructions (#226040)
lowerKillInstr replaces the kill pseudo with a v_cmp defining VCC plus
two instructions reading it, but left any previously computed VCC
regunit ranges alone. If something had already materialized them, the
new uses have no live segment:
*** Bad machine code: No live segment at use ***
- instruction: $exec = S_ANDN2_B64_term $exec, $vcc, implicit-def $scc
Drop the ranges so they are recomputed on demand, as is already done for
EXEC and SCC.
Co-Authored-By: Claude Opus 5 <noreply at anthropic.com>
[SanitizerCoverage] Directly create ptradd constant expression (NFC) (#226107)
Don't go through an IRBuilder without insertion point for a case
that always creates a constant expression.
CodeGen: Derive ARM EH pointer/selector registers from MCAsmInfo
Whether the exception pointer and selector are delivered in registers is an
object-format property, not a program-state one. ARM was the only target to
consult the exception model here, to test for SjLj EH, and that is a constant
for the triple already recorded in MCAsmInfo. Read it from there and drop the
ExceptionHandling argument that was threaded through
getExceptionPointerRegister and getExceptionSelectorRegister.
This is the effective revert of fdc178994aa7.
Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
[llvm] Update tests to use struct path TBAA (#226051)
The new format was introduced more than a decade ago, so make sure it's
used in tests. The tests currently get away with it due to a TBAA
upgrade applied in the IR parser.
Disclosure: AI-generated change.
[AArch64][GlobalISel] Improve fixed-point int-to-fp selection (#224055)
Select scalar fixed-point integer-to-float conversions directly in
GlobalISel when their integer operand is already in the FPR bank. Teach
the fixed-point immediate matcher about reciprocal constants. Refine
register-bank selection for scalar conversion intrinsics.