Reland [AArch64] Copy x4/x5 vararg payload into the x64 stack in Arm64EC exit thunks (#208453)
Reland llvm/llvm-project#190933, which was reverted by
llvm/llvm-project#198540 due to an EXPENSIVE_CHECKS build failure.
The fix relative to the reverted patch is to do the memcpy before the
final CALLSEQ_START for the dispatch call, avoiding nested call-frame
pseudos if memcpy lowers to a call.
Original commit message:
Currently the x4/x5 in a variadic Arm64EC exit thunks are treated by
LLVM like any other outgoing arguments. x4/x5 contain a pointer to the
first stack parameter and the size of the parameters passed on the
stack, and the generated exit thunk must memcpy these to the x86-64
stack. Current MSVC does this correctly.
Rather than introducing a new entry to the CallingConv enum, we mark the
call as vararg in AArch64ArmECCallLowering so that the lowering logic in
AArch64ISelLowering.cpp can recognise this case, perform the necessary
[4 lines not shown]
Revert "[SPIR-V] Simplify and fix sign-extension bug in convertCharsToWord (#207769)" (#209162)
This reverts commit 503f0ca19cfcc9c0c88d6918939a2c0038ad0498.
This is obviously incorrect on big endian architectures.
[LV] Allow scalable epilogue VFs matching the MainLoop VF (#208686)
This effectively limited scalable epilogue VFs to the MainLoopVF/2, as
all VFs are powers-of-two. This restriction does not exist for fixed
vector VFs. This could result in worse VF selections for scalable
epilogues (at high interleave counts), or in many cases only fixed
vectors selected (as there would be no allowed scalable VF in
ProfitableVFs).
[GlobalISel] Add G_SADDSAT/G_UADDSAT/G_SSUBSAT/G_USUBSAT to computeKnownBits (#209075)
Add known-bits handling for the saturating arithmetic opcodes G_SADDSAT,
G_UADDSAT, G_SSUBSAT and G_USUBSAT in GISelValueTracking, using the
existing
`KnownBits::{sadd,uadd,ssub,usub}_sat` helpers - the same ones
ValueTracking
uses for the corresponding IR intrinsics. (On the SelectionDAG side only
`ISD::USUBSAT` is currently handled.)
The new test covers exact constant folding, all four saturation clamps
(255, 127, 0, -128), partially known operands, a vector case, and fully
unknown operands. Without the change, all of these results are unknown.
Part of #150515.
---
Assisted by Claude (Anthropic).
py-pymdown-extensions: update to 11.0.1.
11.0.1
FIX: BetterEm: Fix regex pattern inefficiencies.
FIX: Tilde: Fix regex pattern inefficiencies.
FIX: Caret: Fix regex pattern inefficiencies.
FIX: MagicLink: Fix regex pattern inefficiencies.
11.0
BREAK: B64: Restricts relative links to base_path by default. Can be disabled by setting new restrict_path
option to False. The new root_path can be specified if paths are desired to be restricted to a different
location separate base_path which is also used as a relative base for image paths.
NEW: Drop Python 3.9 support.
FIX: Tabbed: Fix issue where an empty title would cause an exception.
Remove adjout_prefix_free() and its use in adjout_prefix_unlink() instead
use tombstones in the adjout array for empty/unlinked entries and collect
them later via adjout_prefix_collect().
adjout_prefix_first() and adjout_prefix_next() return direct pointers
into the adjout prefix array and adjout_prefix_free() reshuffles entries
so the pointers returned by first/next are no longer valid. By using
tombstones the array pointers remain intact and it is possible to walk
the array.
Once done with the pt_entry adjout_prefix_collect() is called and it will
collect all tombstones. Again after calling adjout_prefix_collect() any
pointer into the adjout array is most probably invalid.
While this solves the problem with prefix withdraw it does not solve
addition of new entries. The good thing is that there is no code path
that would require such an operation.
On top of this the adjout_prefix_dump_r() has to walk all prefixes since
[3 lines not shown]
mkimg: Add ms-basic-data alias for GPT
While preparing GPT-schemed RaspberryPi images for the NanoBSD
Reimagined GSoC 2026 project, a discrepancy was identified between
mkimg(1) and gpart(8) regarding Microsoft Basic Data partitions (GUID
!ebd0a0a2-b9e5-4433-87c0-68b6b72699c7).
Currently, mkimg(1) relies on the MBR-centric name "ntfs" to identify
this partition type under the GPT scheme. Conversely, gpart(8)
identifies this type as "ms-basic-data".
To allow automation scripts (such as those consuming from gpart backup)
to use a common partition type across tools, add ALIAS_MS_BASIC_DATA as
a valid alias.
This is part of a larger effort to avoid a custom, MBR-based image
generation logic for embedded SoCs like the Raspberry Pi, standardizing
on GPT layouts across all supported FreeBSD embedded devices.
[3 lines not shown]
py-mypy: update to 2.2.0.
## Mypy 2.2
### Support for Closed TypedDicts (PEP 728)
Mypy now supports closed TypedDicts as specified in PEP 728. A closed TypedDict cannot have extra
keys beyond those explicitly defined. This allows the type checker to determine that certain
operations are safe when they otherwise wouldn't be due to the potential presence of unknown keys.
You can use the `closed` keyword argument with `TypedDict`:
```python
HasName = TypedDict("HasName", {"name": str})
HasOnlyName = TypedDict("HasOnlyName", {"name": str}, closed=True)
Movie = TypedDict("Movie", {"name": str, "year": int})
movie: Movie = {"name": "Nimona", "year": 2023}
has_name: HasName = movie # OK: HasName is open (default)
[219 lines not shown]
py-mistune: update to 3.3.3.
🐞 Bug Fixes
Set prev token in render_list_item and add block_text to ignore_blocks - by @gaoflow in #456 (0799e)
Improve nested bracket link input - by @lepture (fe02f)
Escape literal emphasis markers in MarkdownRenderer - by @Sanjays2402 (b0429)
Use SAFE_PROTOCOLS instead of HARMFUL_PROTOCOLS - by @lepture (4009f)
Add max_emphasis_depth - by @lepture (0938f)
Add image max depth - by @lepture (cca5e)
inline: Use original run length in emphasis multiple-of-3 rule - by @greymoth-jp and Claude Opus 4.8 (1M context) (2d26b)
🏎 Performance
Improve link label parsing performance - by @lepture (e001d)
Improve performance for math and formatting plugins - by @lepture (c2228)
Improve for footnotes, ruby and spoiler - by @lepture (ae7e9)
py-lupa: updated to 2.8
2.8 (2026-04-15)
* No changes in source or functionality, just removed files from the
sdist content that prevented it from building on non-x86_64 platforms.
* Py3.8 wheels were excluded due to lack of usage. The package still builds
and is tested on Py3.8, but no pre-built wheels are provided.
py-rarfile: updated to 4.3
4.3
Fixes
Disallow extraction outside extraction path, in case of existing symlink.
Disallow creating symlinks to outside of extraction path.
Apply length limit to passwords, so too long password give same result as for unrar.