LLVM/project b4aba96 — llvm/utils profcheck-xfail.txt
[ProfCheck] Update XFAIL list (#231328) This test was apparently fixed by other patches.
| Delta | File | |
|---|---|---|
| +0 | -1 | llvm/utils/profcheck-xfail.txt |
| +0 | -1 | 1 files |
[ProfCheck] Update XFAIL list (#231328) This test was apparently fixed by other patches.
| Delta | File | |
|---|---|---|
| +0 | -1 | llvm/utils/profcheck-xfail.txt |
| +0 | -1 | 1 files |
zio: drop a queued scan read only when its block is freed
zio_free_sync() tells the scan that a block is freed before it knows
whether the space will be released. A dedup or cloned block with other
references is only dereferenced, but the scan still removes its queued
read. The sorted scan queue holds one read per location, so the block's
remaining references are never verified or repaired: a scrub reports
nothing and a resilver can leave the block missing on the new device.
Notify the scan where the space is actually released: in zio_free_sync()
just before an immediate free, which also receives a dedup block's last
free from ddt_phys_free(), and in zio_dva_free(), which cloned and gang
blocks reach once they are no longer referenced.
The regression verifies physical sharing, forces sorted scanning, and
bounds in-flight I/O so the shared block remains queued behind a larger
file after traversal. Removing one reference must leave the other file
readable from the replacement alone.
[2 lines not shown]Merge remote-tracking branch 'rad/hardened/current/master' into hardened/current/pledge
| Delta | File | |
|---|---|---|
| +25 | -33 | sys/net/iflib.c |
| +20 | -3 | sys/kern/kern_rmlock.c |
| +11 | -6 | sys/arm64/include/cpu.h |
| +2 | -2 | sys/arm64/arm64/pmap.c |
| +0 | -2 | sys/sys/mbuf.h |
| +1 | -1 | sys/arm64/arm64/identcpu.c |
| +59 | -47 | 6 files |
Merge remote-tracking branch 'rad/hardened/15-stable/main' into hardened/15-stable/pledge
| Delta | File | |
|---|---|---|
| +7 | -1 | sys/powerpc/powerpc/exec_machdep.c |
| +6 | -0 | sys/powerpc/powerpc/trap.c |
| +13 | -1 | 2 files |
Merge branch 'freebsd/current/main' into hardened/current/master
| Delta | File | |
|---|---|---|
| +25 | -33 | sys/net/iflib.c |
| +20 | -3 | sys/kern/kern_rmlock.c |
| +11 | -6 | sys/arm64/include/cpu.h |
| +2 | -2 | sys/arm64/arm64/pmap.c |
| +0 | -2 | sys/sys/mbuf.h |
| +1 | -1 | sys/arm64/arm64/identcpu.c |
| +59 | -47 | 6 files |
Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
| Delta | File | |
|---|---|---|
| +7 | -1 | sys/powerpc/powerpc/exec_machdep.c |
| +6 | -0 | sys/powerpc/powerpc/trap.c |
| +13 | -1 | 2 files |
Add vector test
| Delta | File | |
|---|---|---|
| +15 | -0 | llvm/test/Transforms/InstCombine/ctpop.ll |
| +15 | -0 | 1 files |
Merge branch 'freebsd/main' into hardenedbsd/main
Update editors/fresh to v.0.5.3
| Delta | File | |
|---|---|---|
| +3 | -3 | fresh/distinfo |
| +1 | -1 | fresh/Makefile |
| +1 | -1 | fresh/COMMIT_MSG |
| +5 | -5 | 3 files |
[InstCombine] Fold trunc(ctpop(A)) + trunc(ctpop(B)) -> trunc(ctpop(A) + ctpop(B))
This allows the combine added in #231321 to kick in and fold the motivating ctpop case in automotive-bitcount:
```c
static char bits[256] = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 1, 2, 2, 3, 2, 3, 3, 4, 2, 3, 3, 4, 3, 4, 4, 5, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 2, 3, 3, 4, 3, 4, 4, 5, 3, 4, 4, 5, 4, 5, 5, 6, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 3, 4, 4, 5, 4, 5, 5, 6, 4, 5, 5, 6, 5, 6, 6, 7, 4, 5, 5, 6, 5, 6, 6, 7, 5, 6, 6, 7, 6, 7, 7, 8};
int CDECL ntbl_bitcount(long int x)
{
return
bits[ (int) (x & 0x0000000FUL) ] +
bits[ (int)((x & 0x000000F0UL) >> 4) ] +
bits[ (int)((x & 0x00000F00UL) >> 8) ] +
bits[ (int)((x & 0x0000F000UL) >> 12)] +
bits[ (int)((x & 0x000F0000UL) >> 16)] +
bits[ (int)((x & 0x00F00000UL) >> 20)] +
bits[ (int)((x & 0x0F000000UL) >> 24)] +
bits[ (int)((x & 0xF0000000UL) >> 28)];
}
```
| Delta | File | |
|---|---|---|
| +5 | -13 | llvm/test/Transforms/InstCombine/ctpop.ll |
| +6 | -0 | llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp |
| +11 | -13 | 2 files |
Precommit tests
| Delta | File | |
|---|---|---|
| +17 | -0 | llvm/test/Transforms/InstCombine/ctpop.ll |
| +17 | -0 | 1 files |
[lldb] Add jLLDBSettings remote packet (#229179)
## Summary
Add the negotiated `jLLDBSettings` packet for LLDB-specific settings on
a GDB-remote connection. The initial fields are:
- `dyld_plugin_name`: dynamic-loader plugin LLDB should use.
- `accelerator_plugin_name`: identifies the server-side accelerator
plugin.
- `send_dyld_packet_to_accelerator`: selects the accelerator or native
connection for dynamic-loader queries.
The object can be extended with additional settings. LLDB only sends the
packet when the server advertises `lldb-settings+`; servers that do not
advertise it retain existing behavior.
This is the protocol foundation for #217393.
[4 lines not shown]net/norm: use upstream divert(4) patch to make it working on modern FreeBSD This was accepted upstream to the protolib and added to the port in ab6be4dbf3bb. Recently the patching was silently deleted in 5963119a132c. The update of norm to 1.5.9 did not update the bundled dependency protolib to a version that includes ba9ca1ca7d73592268ebfd5a43271303e76f461e, instead it tied protolib to an older version. Fixes: 5963119a132cd71510998f9173c54522a8e56678
| Delta | File | |
|---|---|---|
| +4 | -0 | net/norm/Makefile |
| +2 | -0 | net/norm/distinfo |
| +6 | -0 | 2 files |
net/norm: use upstream divert(4) patch to make it working on modern FreeBSD This was accepted upstream to the protolib and added to the port in ab6be4dbf3bb. Recently the patching was silently deleted in 5963119a132c. The update of norm to 1.5.9 did not update the bundled dependency protolib to a version that includes ba9ca1ca7d73592268ebfd5a43271303e76f461e, instead it tied protolib to an older version. Fixes: 5963119a132cd71510998f9173c54522a8e56678
| Delta | File | |
|---|---|---|
| +4 | -0 | net/norm/Makefile |
| +2 | -0 | net/norm/distinfo |
| +6 | -0 | 2 files |
sysutils/acpica-tools: Update to 20260930
| Delta | File | |
|---|---|---|
| +3 | -3 | sysutils/acpica-tools/distinfo |
| +1 | -1 | sysutils/acpica-tools/Makefile |
| +4 | -4 | 2 files |
sysutils/acpica-tools: Update to 20260930
| Delta | File | |
|---|---|---|
| +3 | -3 | sysutils/acpica-tools/distinfo |
| +1 | -1 | sysutils/acpica-tools/Makefile |
| +4 | -4 | 2 files |
[RISCV][P-ext] Remove RISCVISD::PPAIROE_H. NFC (#230356) This is redundant with RISCVISD::PPAIROE. Assisted-by: Claude
| Delta | File | |
|---|---|---|
| +1 | -8 | llvm/lib/Target/RISCV/RISCVInstrInfoP.td |
| +1 | -1 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
| +2 | -9 | 2 files |
Remove superfluous comment
| Delta | File | |
|---|---|---|
| +1 | -2 | llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp |
| +1 | -2 | 1 files |
[RISCV][P-ext] Combine MHACC_H_B0 and MHACC_W_H0. NFC (#230362) These semantically do the same operation only with different types. Assisted-by: Claude
| Delta | File | |
|---|---|---|
| +30 | -41 | llvm/lib/Target/RISCV/RISCVInstrInfoP.td |
| +7 | -11 | llvm/lib/Target/RISCV/RISCVISelLowering.cpp |
| +37 | -52 | 2 files |
ZTS: fix zstream_raw_001_pos cleanup unmount check zstream_raw_001_pos mounts file systems on $TESTDIR and used "ismounted $TESTDIR ext4" in cleanup to decide whether to unmount it. For ext* file systems ismounted() only runs "df -t ext4 $TESTDIR", which succeeds whenever the file system containing $TESTDIR is ext4, not only when something is mounted there. Earlier tests in the directory destroy the pool's datasets, leaving $TESTDIR as a bare directory on the root file system, so on an ext4 root the cleanup always tries to unmount it and fails: ERROR: umount /var/tmp/testdir exited 32 Track whether the test mounted $TESTDIR itself instead, and unmount it before detaching the image device rather than after, since a mounted device cannot be detached. Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov> Signed-off-by: Will Rouesnel <wrouesnel at wrouesnel.com> Closes #19283
| Delta | File | |
|---|---|---|
| +30 | -9 | tests/zfs-tests/tests/functional/zstream/zstream_raw_001_pos.ksh |
| +30 | -9 | 1 files |
mbuf: simplify m_free The check for (M_PKTHDR|M_NOFREE) was added by np@ in "91d1b03d3617 Merge r254736 from user/np/cxl_tuning." in order to support a clever rx mode optimization used by cxgbe at the time. That optimization was removed in 46e1e307edb6 several years ago. This check is otherwise unneeded and adds an extraneous test to every mbuf free, so let's remove it. Reviewed by: glebius, np Differential Revision: https://reviews.freebsd.org/D60686 Sponsored by: Netflix
| Delta | File | |
|---|---|---|
| +0 | -2 | sys/sys/mbuf.h |
| +0 | -2 | 1 files |
mbuf: simplify m_free The check for (M_PKTHDR|M_NOFREE) was added by np@ in "91d1b03d3617 Merge r254736 from user/np/cxl_tuning." in order to support a clever rx mode optimization used by cxgbe at the time. That optimization was removed in 46e1e307edb6 several years ago. This check is otherwise unneeded and adds an extraneous test to every mbuf free, so let's remove it. Reviewed by: glebius, np Differential Revision: https://reviews.freebsd.org/D60686 Sponsored by: Netflix
| Delta | File | |
|---|---|---|
| +0 | -2 | sys/sys/mbuf.h |
| +0 | -2 | 1 files |
[InstCombine] Fold ctpop((X >> C1) & M1) + ctpop((X >> C2) & M2)
Following up from #231225, automotive-bitcount in llvm-test-suite and GCC use a "per-nibble" ctpop table lookup, where they split the operation up into smaller ctpop table lookups over chunks of the input:
```c
unsigned table_u32(unsigned x) {
static const unsigned char ctpop[16] = {0, 1, 1, 2, 1, 2, 2, 3, 1, 2, 2, 3, 2, 3, 3, 4};
return ctpop[x & 15] + ctpop[(x >> 4) & 15];
}
```
PR #231225 now converts the individual table lookups to ctpop intrinsics, so now we're left with `ctpop(X & 0xf) + ctpop((X >> 4) & 0xf) + ctpop((X >> 8) & 0xf) + ...`. We can combine these into `ctpop(X & 0xfff)` provided the extracted bits from X don't overlap.
| Delta | File | |
|---|---|---|
| +46 | -0 | llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp |
| +6 | -16 | llvm/test/Transforms/InstCombine/ctpop.ll |
| +52 | -16 | 2 files |
[AMDGPU] Limit the fmul fusion discount to a matching context type (#229845) The fmul is free when its context instruction feeds a fusable fadd or fsub. A vector fmul priced with a scalar lane as the context inherits that fusion only when it is emitted lane by lane. On a packed type the scalar user does not show that the vector fmul feeds a vector fadd, and products extracted into a scalar fadd chain keep the packed fmul while the fma is lost.
ZTS: fix the dRAID case of import_rewind_device_replaced
The dRAID case creates a draid vdev with no distributed spares, the
default, but expects the pool to end up with 'spares draid1-0-0'. No
such spare can exist, so wait_for_pool_config always times out and the
test has failed on every run since the case was added. The test was
already on the known-failure list for unreliable rewinds, which hid
this.
The dRAID case of import_cachefile_device_replaced, added in the same
commit, creates its pool with 'draid:1s' and expects the same final
configuration, so create this one with a distributed spare too, from
five disks, and replace a child with the sixth. Since the configuration
zpool status then shows differs from the zpool create arguments, let
test_replace_vdev take the expected configuration of the rewound pool
as an optional argument.
The test now passes, so move it from the known failures to the tests
that may fail: a rewind can still be unreliable, but a pass is no longer
[4 lines not shown]| Delta | File | |
|---|---|---|
| +10 | -6 | tests/zfs-tests/tests/functional/cli_root/zpool_import/import_rewind_device_replaced.ksh |
| +2 | -2 | tests/test-runner/bin/zts-report.py.in |
| +12 | -8 | 2 files |
[compiler-rt][ARM] Mark optimized FP add/sub asm as superseding aeabi_[df]rsub.c (#230739) #179921 (`arm/adddf3.S`) and #179929 (`arm/addsf3.S` and `arm/thumb1/addsf3fast.S`) introduced optimized assembly implementations for floating-point addition, subtraction, and reversed subtraction (`__aeabi_drsub` and `__aeabi_frsub`), but omitted `arm/aeabi_drsub.c` and `arm/aeabi_frsub.c` from `SUPERSEDES` (and `PROVIDES`), causing duplicate symbol errors during lld linking in Android. Assisted-by: Gemini
| Delta | File | |
|---|---|---|
| +3 | -3 | compiler-rt/lib/builtins/CMakeLists.txt |
| +3 | -3 | 1 files |
[VPlan] Simplify extracts of the last lane of live-ins (#231312) Live-ins are single scalars, so simplify their extracts like other single-scalar live-in values. This allows reusing a single resume phi for multiple reductions whose results fold to the same live-in.
| Delta | File | |
|---|---|---|
| +3 | -4 | llvm/test/Transforms/LoopVectorize/epilog-vectorization-reductions.ll |
| +2 | -1 | llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp |
| +5 | -5 | 2 files |
Precommit tests
| Delta | File | |
|---|---|---|
| +111 | -0 | llvm/test/Transforms/InstCombine/ctpop.ll |
| +111 | -0 | 1 files |
Update libmikmod to 3.3.15.
| Version | Delta | File | |
|---|---|---|---|
| 1.14 | +2 | -2 | audio/libmikmod/distinfo |
| 1.43 | +1 | -1 | audio/libmikmod/Makefile |
| +3 | -3 | 2 files | |
[MLIR][ROCDL] Note the deprecation of the <4 x i32> buffer ops While we don't have a way to flag a MLIR op as deprecated yet, go ahead and add a note to the old `<4 x i32>` intriinsic ops that they're actively deprecated. AI disclosure: Claude made this edit, though I checked the wording and wrote up this message. Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
| Delta | File | |
|---|---|---|
| +24 | -0 | mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td |
| +24 | -0 | 1 files |