[LoopPeel] Peel last iteration to enable load widening
In loops that contain multiple consecutive small loads (e.g., 3 bytes
loading i8's), peeling the last iteration makes it safe to read beyond
the accessed region, enabling the use of a wider load (e.g., i32) for
all other N-1 iterations.
Patterns such as:
```
%a = load i8, ptr %p
%b = load i8, ptr %p+1
%c = load i8, ptr %p+2
...
%p.next = getelementptr i8, ptr %p, 3
```
Can be transformed to:
```
%wide = load i32, ptr %p ; Read 4 bytes
[9 lines not shown]
[BOLT] Fixed PerfScript unittest for X86 (#207408)
The test was not prepared to run on X86 target.
This change parameterized the test function to ensure proper
initialization for different targets.
[libc] Implement sockatmark (#205400)
This patch implements sockatmark as a simple wrapper around
ioctl(SIOCATMARK).
I don't test it with actual out of band data, as that requires a TCP
connection, which is more complicated to set up.
Assisted by Gemini.
jjui: update to 0.10.8.
0.10.8
A release with a new revision insertion workflow and fixes for
command error output and inline describe editing.
0.10.7
A release with a new diff range workflow, Lua workspace switching,
revset completion improvements, and several UI polish fixes.
yt-dlp: update to 2026.7.4.
Core changes
Always include warnings in debug output (#17059) by bashonly
Fix allow-unsafe-ext compat option (#16920) by bashonly
Raise minimum recommended Python version to 3.11 (#17034) by bashonly
Validate and escape values in --write-link output by bashonly
cookies: Use ' instead of " for SQL string quoting (#17078) by Grub4K
utils
Deprecate make_dir in favor of make_parent_dirs (#16931) by doe1080
HTTPHeaderDict: Fix __ior__ (#16930) by doe1080
parse_duration: Return int when appropriate (#13899) by doe1080
parse_resolution: Support fps suffixes (#17073) by doe1080
pkcs1pad: Fix invalid PKCS#1 v1.5 padding bytes (#17035) by doe1080
qualities: Avoid repeated index lookups (#17025) by doe1080
random_user_agent: Bump version range 143-149 => 144-150 (#17117) by bashonly, dlp-bot
Extractor changes
[72 lines not shown]
[AArch64][Bitcode] Use target memory for SME state (#205829)
Model AArch64 ZA and ZT0 intrinsic state using target_mem instead of
inaccessiblemem.
Bump the bitcode memory-attribute encoding and upgrade old AArch64
bitcode so prior inaccessiblemem effects are preserved on the new target
memory locations. Non-AArch64 bitcode keeps the old interpretation.
py-sphinx-argparse: update to 0.6.0.
Optional command index.
Optional :index-groups: field to the directive for an command-by-group index.
A sphinxarg_full_subcommand_name option to print fully-qualified sub-command headings. This option helps when more than one sub-command offers a create or list or other repeated sub-command.
Each command heading is a domain-specific link target. You can link to commands and sub-commands with the :ref: role, but this release adds support for the domain-specific role like :commands:command:`sample-directive-opts A` ``. The ``:commands:command: role supports linking from other projects through the intersphinx extension.
Changes
Previously, common headings such as Positional Arguments were subject to a process that made them unique by adding a _repeatX suffix to the HREF target. This release continues to support those HREF targets as secondary targets so that bookmarks continue to work. However, this release prefers using fully-qualified HREF targets like sample-directive-opts-positional-arguments as the primary HREF so that customers are less likely to witness the _repeatX link in URLs.
#32 Argparse commands are now part of a Sphinx domain
#72 Coloring in argparse output can be disabled (default)
#87 The :filename: input is now resolved only to the conf.py directory (srcdir in Sphinx)
[2 lines not shown]
Revert "unionfs: Support renaming symbolic links"
This reverts commit 5fa23c5c21a404de315e2f178b3170fa165a76cc.
Hyper-V panic during boot on install media in unionfs_create_uppervattr()
seems close enough here. We didn't need the feature until now so we ca
try without it.
[Clang] Require X86 backend for some coroutine tests (#207681)
The wrapper functions are generated without target features.
They can still be inlined based on target-specific logic, but this
requires the target to be available.
We should fix this by properly generating the target features,
but for now add a REQUIRES to unbreak the tests.
[NVPTX] Add missing Range attr to tensormap.replace intrinsics. (#207099)
Add missing `Range=[0, 5)` for `%ord imm` operand in
`nvvm.tensormap.replace` intrinsics.
py-dulwich: updated to 1.2.8
1.2.8 2026-07-05
* Enumerate the objects to push before the HTTP ``git-receive-pack``
request body starts streaming. ``generate_pack_data`` previously ran
lazily inside the body generator, after the header pkt-lines were
already on the wire, so on large repositories the request stalled
mid-body while objects were counted and servers such as GitHub aborted
the push with a timeout / "broken pipe".
* Support ``http.postBuffer``.
* SECURITY: Canonicalize file modes to ``0o644``/``0o755`` before ``chmod``
on checkout and patch apply, matching git. An untrusted tree entry or
patch ``new file mode`` could otherwise set setuid/setgid/sticky or
world-writable bits on a materialized file. (netliomax25-code)
* SECURITY(GHSA-8w8g-wq8h-fq33): Write files through ``build_file_from_blob``
[102 lines not shown]