LLVM/project 4149fd7 — clang/test/CodeGen memtag-globals-asm.cpp, llvm/test/CodeGen/AArch64 popcount.ll cpa-globalisel.ll

[AArch64][GlobalISel] Do not run the Localizer at -O0 (attempt 2) (#231406)

This was disabled earlier this year (#177359) before being shortly reverted due
to two test failures which have since been fixed.  The flaky LLDB issue was
fixed in #210050 and the libcxxabi test in #230518.

CTMark aarch64-O0-g geomean improves -0.97%. Code size regresses 2.70% but as
previously we think this is worth paying at O0 where compile-time and debug are
the biggest concern.

https://llvm-compile-time-tracker.com/compare.php?from=fc90bd3cfb0bab14a2bf7cbd33f5f1e904c7e133&to=071f3542ccb3b3c65032397550e862d7090f425f&stat=instructions:u

Assisted-by: codex

Co-authored-by: David Green (davemgreen)
DeltaFile
+87-79llvm/test/CodeGen/AArch64/cpa-globalisel.ll
+36-62llvm/test/CodeGen/AArch64/GlobalISel/localizer-arm64-tti.ll
+35-24llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
+20-18llvm/test/CodeGen/AArch64/popcount.ll
+18-19llvm/test/CodeGen/AArch64/GlobalISel/localizer-propagate-debug-loc.mir
+13-12clang/test/CodeGen/memtag-globals-asm.cpp
+209-21422 files not shown
+290-29428 files

LLVM/project 693e531 — llvm/include/llvm/Analysis ValueTracking.h, llvm/lib/Analysis ValueTracking.cpp

[ValueTracking] Remove matchMinMaxOfMinMax() (#231539)

matchMinMaxOfMinMax() was effectively dead code: It did recursive
matches for SPF min/max, but in practice the SPF pattern would have been
canonicalized to intrinsics by that point already.

After the canonicalization to intrinsics, this pattern is already
handled by a different InstCombine fold, which handles selects of
min/max with common operands.

Move the codegen test for this functionality to InstCombine, to show
that all variants of the pattern are indeed replaced by intrinsics. The
codegen test was testing non-canonical IR that would never occur in
practice, after the middle-end pipeline has run.
DeltaFile
+0-2,441llvm/test/CodeGen/AArch64/minmax-of-minmax.ll
+2,313-0llvm/test/Transforms/InstCombine/minmax-of-minmax-2.ll
+19-125llvm/lib/Analysis/ValueTracking.cpp
+4-5llvm/include/llvm/Analysis/ValueTracking.h
+2,336-2,5714 files

LLVM/project cd5a26a — llvm/unittests/TargetParser TargetParserTest.cpp

fixup! Format touched lines in d7e23bf95f9d
DeltaFile
+4-16llvm/unittests/TargetParser/TargetParserTest.cpp
+4-161 files

LLVM/project 41b91ff — llvm/include/llvm/Analysis ValueTracking.h, llvm/lib/Analysis ValueTracking.cpp

Attributor: Deduce noundef returns if poison-generating attributes hold

Instead of giving up on noundef for returns with poison-generating
attributes, check that the attributes hold for all returned values, like
FunctionAttrs already does.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+143-15llvm/test/Transforms/Attributor/noundef-return-poison-attrs.ll
+21-4llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+2-20llvm/lib/Transforms/IPO/FunctionAttrs.cpp
+21-0llvm/lib/Analysis/ValueTracking.cpp
+6-0llvm/include/llvm/Analysis/ValueTracking.h
+1-1llvm/test/Transforms/Attributor/align.ll
+194-406 files

LLVM/project a401ff7 — llvm/include/llvm/IR Attributes.h, llvm/lib/IR Attributes.cpp Instruction.cpp

Attributor: Don't infer noundef returns with poison-generating attributes

Returning a value that violates an existing return attribute results
in poison. AANoUndef did not account for this and could mark such
returns noundef. Give up on returns with poison-generating attributes.

Unlike FunctionAttrs, this does not try to prove that the attributes
hold for the returned values. This loses 2 of 3 noundef returns that
would have been proven over CTMark with -attributor-enable=full, and
no call site attributes. In the future it should call the the
ValueTracking queries for parity.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+48-0llvm/test/Transforms/Attributor/noundef-return-poison-attrs.ll
+15-0llvm/lib/Transforms/IPO/AttributorAttributes.cpp
+4-10llvm/lib/IR/Instruction.cpp
+9-0llvm/lib/IR/Attributes.cpp
+4-0llvm/include/llvm/IR/Attributes.h
+1-1llvm/test/Transforms/Attributor/align.ll
+81-116 files

LLVM/project d57779b — llvm/lib/Target/LoongArch LoongArchTargetTransformInfo.h LoongArchTargetTransformInfo.cpp, llvm/test/Analysis/CostModel/LoongArch arith-fp.ll arith-int.ll

Revert "[LoongArch] Add arithmetic instruction costs (#231094)"

This reverts commit a0944bb8d04f7be9189dba342923f1e8ca327472.
DeltaFile
+0-1,161llvm/test/Analysis/CostModel/LoongArch/arith-int.ll
+0-329llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
+0-135llvm/test/Analysis/CostModel/LoongArch/arith-fp.ll
+0-7llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
+0-1,6324 files

FreeBSD/ports cc7d27b — databases/qdrant Makefile

databases/qdrant: remove AWS_LC_SYS_NO_JITTER_ENTROPY=1

It builds w/out it.
DeltaFile
+0-2databases/qdrant/Makefile
+0-21 files

OPNSense/core 4c266a5 — src/opnsense/mvc/app/models/OPNsense/Core Firmware.xml

firmware: make all text fields stricter in model

Spaces, control characters and newlines are not expected in these.
If they should be needed in the URL they can be URL encoded by the
user just like | and " before.
DeltaFile
+6-6src/opnsense/mvc/app/models/OPNsense/Core/Firmware.xml
+6-61 files

FreeBSD/ports a518528 — graphics/milton/files patch-CMakeLists.txt

graphics/milton: try to unbreak the build against future CMake.
DeltaFile
+6-0graphics/milton/files/patch-CMakeLists.txt
+6-01 files

LLVM/project 45b1c16 — llvm/lib/CodeGen PHIElimination.cpp

PHIElimination: Remove LiveVariables/LiveIntervals abstraction helpers (#228849)

Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
DeltaFile
+5-12llvm/lib/CodeGen/PHIElimination.cpp
+5-121 files

OPNSense/core 11050d1 — src/opnsense/www/js opnsense_widgets.js, src/opnsense/www/js/widgets Firewall.js

dashboard: prevent zoom on fresh health grapp add, fix double-render in firewall widget

Make sure widget resize handling runs once during initial startup
rather than waiting for ResizeObserver
DeltaFile
+18-8src/opnsense/www/js/widgets/Firewall.js
+7-1src/opnsense/www/js/opnsense_widgets.js
+25-92 files

LLVM/project f12dbf3 — llvm/include/llvm/CodeGen MachineScheduler.h, llvm/lib/CodeGen MachineScheduler.cpp AggressiveAntiDepBreaker.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+573-0llvm/test/CodeGen/RISCV/postmisched-antidep-loop.mir
+210-0llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
+115-2llvm/lib/CodeGen/MachineScheduler.cpp
+96-0llvm/test/CodeGen/RISCV/postmisched-antidep-region.mir
+18-5llvm/include/llvm/CodeGen/MachineScheduler.h
+5-0llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
+1,017-73 files not shown
+1,027-79 files

LLVM/project 4dd7ee2 — llvm/include/llvm/CodeGen MachineScheduler.h, llvm/lib/CodeGen MachineScheduler.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.6-beta.1

[skip ci]
DeltaFile
+110-2llvm/lib/CodeGen/MachineScheduler.cpp
+96-0llvm/test/CodeGen/RISCV/postmisched-antidep-region.mir
+18-5llvm/include/llvm/CodeGen/MachineScheduler.h
+5-0llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
+5-0llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+1-0llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
+235-76 files

LLVM/project 0039564 — llvm/include/llvm/CodeGen MachineScheduler.h, llvm/lib/CodeGen MachineScheduler.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+110-2llvm/lib/CodeGen/MachineScheduler.cpp
+96-0llvm/test/CodeGen/RISCV/postmisched-antidep-region.mir
+18-5llvm/include/llvm/CodeGen/MachineScheduler.h
+5-0llvm/lib/Target/AArch64/AArch64SpeculationHardening.cpp
+5-0llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
+1-0llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp
+235-76 files

LLVM/project 129dd0e — llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Transforms/LoopVectorize/AArch64 partial-reduce-dot-product-neon.ll partial-reduce-add-dot-i8-i64.ll

[AArch64] Cost i8 to i64 partial reductions for NEON dot products (#226226)

With +dotprod, NEON lowers an extended i8 to i64 partial add reduction
to a udot/sdot into a zeroed v4i32 followed by an [SU]ADALP into the
v2i64 accumulator (#214636). `getPartialReductionCost` only prices this
shape for SVE, so NEON gets BasicTTIImpl's generic expansion cost
(#189905), which is no cheaper than a regular reduction. Since #191369 a
partial reduction must be strictly cheaper than a regular one, so byte
sums and dot products into `uint64_t`/`int64_t` keep a `<16 x i64>`
accumulator.

This charges one basic cost per legal input vector for each step: the
dot product, as for i8 to i32, and the [SU]ADALP, as for two-way add
reductions. On Neoverse N1 and Cortex-A76 the sequence runs at 1.0
cycles per 16 input bytes (bounded by the [SU]ADALP) against 0.5 for the
i8 to i32 udot, matching the 2:1 cost ratio; the zeroing MOVI adds
nothing.

It covers sums of zero- or sign-extended bytes and products of

    [21 lines not shown]
DeltaFile
+226-0llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-add-dot-i8-i64.ll
+207-0llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
+22-5llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+455-53 files

LLVM/project 8a39a40 — llvm/lib/CodeGen/SelectionDAG LegalizeIntegerTypes.cpp, llvm/test/CodeGen/Thumb umul_fix_sat.ll

[SDAG] Fix UMULFIXSAT saturation check for Scale > NVTSize. (#231442)

This came up when looking at something else. The check should use HH,
not HL, as the comment above the code describes.
DeltaFile
+18-18llvm/test/CodeGen/X86/umul_fix_sat.ll
+12-11llvm/test/CodeGen/Thumb/umul_fix_sat.ll
+3-3llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+33-323 files

OpenBSD/src Gx2ghmT — usr.sbin/rpki-client main.c extern.h

   Split insertion into the CA tree and the go/no-go on syncing a CA

   OK tb@
VersionDeltaFile
1.18+47-43usr.sbin/rpki-client/nca.c
1.323+4-2usr.sbin/rpki-client/main.c
1.309+4-2usr.sbin/rpki-client/extern.h
+55-473 files

LLVM/project 69c82da — llvm/lib/Target/AArch64 AArch64ISelLowering.cpp

[AArch64] Cleanup call to performSetccAddFolding. NFC (#231786)

This was being called from inside performAddSubLongCombine, not the
higher
level performAddSubCombine.
DeltaFile
+9-6llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+9-61 files

LLVM/project 4f0326a — lldb/include/lldb/Utility StringExtractorGDBRemote.h, lldb/source/Plugins/Platform/gdb-server PlatformRemoteGDBServer.cpp

[lldb] Remove the jSignalsInfo packet (#230456)

The use of the UnixSignals class in lldb-server prevents the
functionality from being moved to the Platform class. This packet allows
the server to program the client with the signals present on that
target, but in practice, lldb has to know that information anyway
because of postmortem debugging (no server to provide the information).

No code changes are necessary because the client already has a fallback
path (which is now promoted to the main line) for handling the case
where the packet is not implemented.

See #229106 for context.
DeltaFile
+2-88lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
+0-32lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.cpp
+0-2lldb/source/Utility/StringExtractorGDBRemote.cpp
+0-2lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerPlatform.h
+0-1lldb/include/lldb/Utility/StringExtractorGDBRemote.h
+2-1255 files

LLVM/project d72e892 — offload/libompaccsupport device.cpp, offload/plugins-nextgen/amdgpu/dynamic_hsa hsa_ext_amd.h

[offload] Write small unordered host-to-device transfers directly on AMDGPU
DeltaFile
+135-2offload/plugins-nextgen/amdgpu/src/rtl.cpp
+73-0offload/test/offloading/kernel_launch_environment.c
+22-0offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
+6-3offload/plugins-nextgen/common/include/PluginInterface.h
+4-2offload/libompaccsupport/device.cpp
+3-2offload/plugins-nextgen/common/src/PluginInterface.cpp
+243-94 files not shown
+251-1310 files

LLVM/project 7978ef8 — offload/include device.h, offload/libompaccsupport device.cpp

[offload] Cache the per-launch device allocations of libomptarget (#231570)

Claude assisted with this patch.

---------

Co-authored-by: Alex Duran <alejandro.duran at intel.com>
DeltaFile
+46-33offload/libompaccsupport/device.cpp
+8-0offload/include/device.h
+54-332 files

FreeBSD/ports 9c87820 — databases/py-deltalake Makefile, devel/vite-plus Makefile

lang/rust: Bump revisions after 1.99.0

PR:             299016
DeltaFile
+1-2devel/vite-plus/Makefile
+1-2databases/py-deltalake/Makefile
+1-1x11/xdg-desktop-portal-luminous/Makefile
+1-1x11/wmfocus/Makefile
+1-1x11/wlr-which-key/Makefile
+1-1x11/wleave/Makefile
+6-8837 files not shown
+843-629843 files

FreeBSD/ports 41a5b76 — misc/wavedrom/files patch-rust-1.99.0

misc/wavedrom: Fix build with rust 1.99.0

Fix the following error:
error: invalid definition of the runtime `free` symbol used by the standard library
  --> wavedrom-wasm/src/lib.rs:21:1
   |
21 | pub unsafe extern "C" fn free(ptr: *mut u8, size: usize) {
   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(*mut c_void)` (for the current target)
           found    `unsafe extern "C" fn(*mut u8, usize)`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "free")]`, or `#[link_name = "free"]`
   = note: `#[deny(invalid_runtime_symbol_definitions)]` on by default

PR:             299016
Approved by:    portmgr (build fix blanket)
DeltaFile
+28-0misc/wavedrom/files/patch-rust-1.99.0
+28-01 files

FreeBSD/ports dd400e5 — x11/clipcat/files patch-rust-1.99.0

x11/clipcat: Fix build with rust 1.99.0

Fix the following error:
error: lint `no_mangle_generic_items` has been removed: converted into hard error, generic items must always be mangled

PR:             299016
Approved by:    portmgr (build fix blanket)
DeltaFile
+13-0x11/clipcat/files/patch-rust-1.99.0
+13-01 files

FreeBSD/ports ea503e5 — x11/squeekboard/files patch-rust-1.99.0

x11/squeekboard: Fix build with rust 1.99.0

Fix the following error:
=>> Building x11/squeekboard
error: invalid definition of the runtime `close` symbol used by the standard library
  --> /wrkdirs/usr/ports/x11/squeekboard/work/squeekboard-v1.43.1/src/vkeyboard.rs:49:9
   |
49 |         fn close(fd: u32);
   |         ^^^^^^^^^^^^^^^^^^
   |
   = note: expected `unsafe extern "C" fn(i32) -> i32` (for the current target)
           found    `unsafe extern "C" fn(u32)`
   = help: either fix the signature or remove any attributes like `#[unsafe(no_mangle)]`, `#[unsafe(export_name = "close")]`, or `#[link_name = "close"]`
   = note: `#[deny(invalid_runtime_symbol_definitions)]` on by default

PR:             299016
Approved by:    portmgr (build fix blanket)
DeltaFile
+31-0x11/squeekboard/files/patch-rust-1.99.0
+31-01 files

FreeBSD/ports d7c9e7f — lang/rust Makefile distinfo, lang/rust-bootstrap distinfo

lang/rust: Update to 1.99.0

Announce:       https://blog.rust-lang.org/2026/10/01/Rust-1.99.0/
ChangeLog:      https://github.com/rust-lang/rust/releases/tag/1.99.0

PR:             299016
Tested by:      mikael,pkubaj
Exp-run by:     antoine
DeltaFile
+51-51lang/rust/distinfo
+16-0lang/rust/files/patch-llvm_include_llvm_Support_Allocator.h
+0-13lang/rust/files/patch-compiler_rustc__target_src_spec_targets_powerpc64le__unknown__freebsd.rs
+3-3lang/rust/Makefile
+3-3lang/rust-bootstrap/distinfo
+2-2lang/rust/files/patch-src_tools_cargo_src_cargo_sources_git_source.rs
+75-723 files not shown
+78-759 files

OPNSense/core 1cc41fc — src/opnsense/mvc/app/models/OPNsense/Core Firmware.xml

firmware: tighten validation for mirror URL

Reported by: Abraxas Labs
DeltaFile
+4-1src/opnsense/mvc/app/models/OPNsense/Core/Firmware.xml
+4-11 files

LLVM/project 31352fa — llvm/lib/Target/LoongArch LoongArchISelLowering.cpp, llvm/test/CodeGen/LoongArch/lasx/ir-instruction shuffle-broadcast.ll

[LoongArch] Legalize broadcasting the first element of 256-bit vector using `xvreplve0`
DeltaFile
+19-0llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+6-10llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-broadcast.ll
+25-102 files

LLVM/project 100d569 — llvm/test/CodeGen/LoongArch/lasx/ir-instruction shuffle-broadcast.ll

[LoongArch][NFC] Add tests for 256-bit vector broadcast (#169268)
DeltaFile
+179-0llvm/test/CodeGen/LoongArch/lasx/ir-instruction/shuffle-broadcast.ll
+179-01 files

LLVM/project 0515f00 — llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp, llvm/unittests/Target/AMDGPU AMDGPUUnitTests.cpp

[AMDGPU] Look up DefaultDepCtrEncoding instead of caching in global state (#227720)

This commit removes the static cache for DefaultDepCtrEncoding in
AMDGPUBaseInfo.cpp and instead looks it up from the table when needed.
This avoids potential issues when querying encoding on different
subtargets. Additionally, we inline `getDefaultCustomOperandEncoding` as
`getDefaultDepCtrEncoding` was the only caller.

---------

Signed-off-by: Steffen Holst Larsen <sholstla at amd.com>
DeltaFile
+7-16llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+16-0llvm/unittests/Target/AMDGPU/AMDGPUUnitTests.cpp
+23-162 files