[orc-rt] Replace AAHandlerTraits with CallableArgInfo. NFCI. (#205257)
CallableArgInfo provides a superset of AAHandlerTraits functionality, so
we don't need the latter.
[RISCV] Update Xqcilo Pseudos (#196422)
This changes the Xqcilo pseudos to instead emit a sequence of
`qc.e.li` followed by a standard load/store annotated with %qc.access.
The new sequence is easier for our linker to relax.
This Change was written with the assistance of AI.
py-mutagen: updated to 1.48.0
1.48.0 - 2026-06-22
* Drop Support for Python 3.7, 3.8 and 3.9
* ID3: Add ``salt`` attribute to APIC frames to allow multiple APIC frames with
identical descriptions
* ID3: Preserve order of APIC frames relative to each other when saving
* ID3: Fix reading/writing v1.0 and v1.1 comment/track fields
* ID3: Fix saving ID3v2 comment fields from ``COMM:desc:lang`` tags
* ID3: Consider size of extended header when reading ID3 data
* EasyID3: Fix handling of ``albumartistsort`` as ``TSO2`` with ``TXXX:ALBUMARTISTSORT``
fallback for reading
* MP3: do not fail on non-ASCII lame header version flags
* OggOpus: Provide a bitrate property
* MP4: Fall back to parsing length from ``mvhd`` if there is no ``trak`` info
* MP4: Fix chapter timestamp parsing
* OGG: Fix saving files with trailing null bytes
* mid3v2: Fix ``--list-frames-v2.2`` option
[6 lines not shown]
py-wrapt: updated to 2.2.2
2.2.2
Bugs Fixed
When @wrapt.lru_cache was applied to an instance method that was overridden in a subclass, and the subclass method called the base class method via super(), a RecursionError was raised instead of the base class method being invoked. The per-instance cache for each method was stored as an attribute on the instance whose name was derived only from the method __name__, so the base and derived methods shared a single cache slot. The subclass cache was therefore found again when the base method was reached through super(), re-entering the subclass body and recursing without end. The cache attribute name now incorporates a unique identifier for each decorated method so that a base method and a method that overrides it use distinct per-instance caches.
When @wrapt.lru_cache was applied to a method of a class deriving from wrapt.ObjectProxy, the per-instance cache was stored on the wrapped object rather than on the proxy. This is because the proxy __setattr__ forwards attribute assignment to the wrapped object for any name that is not a recognised proxy attribute, and the cache attribute name was not one. Storing the cache on the wrapped object had several consequences: the wrapped object was polluted with cache attributes it never defined; the cache held a reference back to the proxy through the bound method it wrapped, so a wrapped object that outlived the proxy kept the proxy alive and prevented its collection; wrapping an object that does not accept arbitrary attributes, such as one using __slots__, caused the first cached call to fail with an AttributeError; and two proxies sharing a single wrapped object shared one cache and could return results computed for the wrong proxy. The cache attribute is now stored on the proxy itself using the proxy __self_setattr__ method when the instance is a wrapt object proxy, falling back to setattr for ordinary instances.
Patch tryCanonicalizeStructToVector to handle split slice tails (#201434)
We choose a vector alloca over a struct alloca when all users of the
alloca are memory or lifetime intrinsics. But we only accounted for
slices that start in the corresponding partition. We have to also check
that all split slice tails overlapping the partition are memory or
lifetime intrinsics
I also updated the `PassRegistry.def` to include the new pass option
because we forgot to add that.
[mlir][arith] Fix APInt bitwidth mismatch crash in int-range-optimizations (#205110)
Fixes https://github.com/llvm/llvm-project/issues/204909
When an op's `areTypesCompatible()` hook accepts integers of different
widths across a region boundary, the range analysis can propagate a
constant range whose APInt bitwidth does not match the IR type of the
destination value.
This caused `IntegerAttr::get` to `assert` in
`maybeReplaceWithConstant`.
Fix by bailing out in `maybeReplaceWithConstant` when the bitwidths
mismatch, and adding the same check to the needsReplacing lambda in
matchAndRewrite.
The second guard is necessary to mirror the existing isIntOrIndex()
guard — without it the pattern claims success without changing the IR,
causing the greedy rewrite driver to loop.
[14 lines not shown]
py-greenlet: updated to 3.5.2
3.5.2
- The minimum supported version of Python 3.15 is now 3.15b2.
- Fix some garbage-collection related crashes on free-threaded Python
3.15.
- Improve garbage collection of greenlets. This mostly applies to
Python 3.15.
py-coverage: updated to 7.14.3
7.14.3 — 2026-06-22
- Fix: the default ``...`` exclusion rule now also matches function bodies
whose closing return-type bracket is on its own line (for example, after a
long ``-> dict[ ... ]`` annotation that a formatter has split over multiple
lines). Closes `issue 2185`_, thanks `Mengjia Shang <pull 2196_>`_.
- Fix: On 3.13t, we incorrectly issued ``Couldn't import C tracer`` errors.
We can't import the C tracer because in 7.14.2 we stopped shipping compiled
wheels for 3.13t. Thanks, `Hugo van Kemenade <pull 2203_>`_.
website: Turn on verbose asciidoctor build
This shows a lot of typos in anchors. Enable it globally so
people see the typos as they are making them and can fix them.
[RISCV][P-ext] Rename pwcvt/pncvt pseudoinstructions for RV64. (#205227)
We need to add a 'w' to the suffix to indicate it operates on a word and
not a register pair like on RV32. See https://github.com/riscv/riscv-p-spec/pull/303
drop @pkgpath markers from lang/gcc/16, these should not be added
until we switch to 16 by default. should fix update issue reported
by Bryan Vyhmeister.
wg(4): Drop KASSERT on result of crypto_scalarmult.
The result of this check is not relevant to security of the protocol,
either for static peer identity keys or for ephemeral handshake keys.
See comments for details.
We can't simply write
(void)crypto_scalarmult(...);
because the function was tagged with warn_unused_result. And
apparently libsodium may leave the output uninitialized if the check
fails. So just yield zero instead of stack garbage / UB -- stack
garbage is probably actually fine since it is immediately hashed into
something that won't match anything so downstream logic will just drop
it, but UB might invite nefarious compilers to cause trouble.
PR security/60106: wg(4) should properly handle invalid or insecure
ephemeral Curve25119 public keys
[SandboxVectorizer] Implement topdown vectorizer
This patch introduces the `top-down-vec` pass to the Sandbox Vectorizer,
adding the ability to traverse use-def chains top-down to discover and
collect vectorization opportunities.
Key changes include:
* TopDownVec Pass: Implemented `TopDownVec` which recursively processes
value bundles top-down, creates vectorization actions (widening, packing,
shuffles), and emits the final vector IR.
* Shared Infrastructure (VecPassBase): Extracted common IR emission logic
out of `BottomUpVec` and into a new shared base class, `VecPassBase`.
Functions for generating vector instructions, handling diamond reuse,
creating shuffles/packs, and collecting dead instructions are now shared
between the bottom-up and top-down vectorizers to prevent code
duplication.
* Pass Registration: Exposed `top-down-vec` in `PassRegistry.def` and
`SandboxVectorizerPassBuilder`, allowing it to be invoked within pass
pipelines via `opt`.
[3 lines not shown]