LLVM/project 7d4ca8a — llvm/lib/Target/X86 X86PreTileConfig.cpp, llvm/test/CodeGen/X86/AMX amx-tile-basic.ll amx-across-func.ll

[X86] Fix LDTILECFG insertion at block starts (#229239)

When a block-start insertion point is in a block without PHIs, `MIRef`
has no `MachineInstr`. The insertion code incremented `instr_begin()`
unconditionally, placing `PLDTILECFGV` after the block's first
instruction. If that instruction was a tile operation, it executed before
`LDTILECFG`.

Insert after `MI` for concrete instruction positions and at the first
non-PHI for block-start positions. Regression coverage checks block
starts with and without a leading debug record and runs with
`-verify-machineinstrs`. The new test fails on the unmodified base
because `tilezero` precedes `ldtilecfg`.

Fixes #228950
DeltaFile
+121-0llvm/test/CodeGen/X86/AMX/pr228950.ll
+3-2llvm/lib/Target/X86/X86PreTileConfig.cpp
+1-1llvm/test/CodeGen/X86/AMX/amx-tile-basic.ll
+1-1llvm/test/CodeGen/X86/AMX/amx-across-func.ll
+126-44 files

LLVM/project b49afe4 — llvm/include/llvm/CodeGen SlotIndexes.h, llvm/lib/CodeGen RegAllocGreedy.cpp LiveIntervals.cpp

[CodeGen] Drop dead SlotIndexes before allocation

SlotIndexes keeps the index list entry of an erased instruction and only
clears its instruction pointer. Live range sizes are measured in slot
indexes and greedy ranks ranges by size, so the leftovers inflate some
ranges more than others and reorder allocation, spilling heavily on
register-starved functions.

Add SlotIndexes::compactIndexes() to erase them. Erased entries are
unlinked, so LiveIntervals first reports the indexes it holds via
appendReferencedIndexes().

Off by default behind -greedy-compact-slot-indexes, since it changes
allocation across much of the test suite.
DeltaFile
+221-0llvm/unittests/CodeGen/SlotIndexesTest.cpp
+46-0llvm/lib/CodeGen/SlotIndexes.cpp
+32-0llvm/test/CodeGen/AMDGPU/greedy-compact-slot-indexes.ll
+23-6llvm/include/llvm/CodeGen/SlotIndexes.h
+29-0llvm/lib/CodeGen/LiveIntervals.cpp
+12-1llvm/lib/CodeGen/RegAllocGreedy.cpp
+363-71 files not shown
+367-77 files

LLVM/project e90defb — llvm/lib/Transforms/InstCombine InstCombineLoadStoreAlloca.cpp, llvm/test/Transforms/InstCombine alloca.ll

[InstCombine] Keep an alloca's metadata when folding its element count (#231073)

simplifyAllocaArraySize turns an alloca with a constant element count
into one of an array type, for instance

  %p = alloca i8, i32 10

into

  %p = alloca [10 x i8]

It is the same allocation, but it is a new instruction, and the new one
was built from scratch: the alignment and the inalloca flag were copied
across by hand and everything else was dropped. Metadata is part of that
everything else, so anything said about the allocation is silently lost.

Nothing is miscompiled when that happens -- metadata is droppable by
construction, and a consumer that needs it has to cope with it being
absent. What is lost is the optimization the metadata was there to

    [13 lines not shown]
DeltaFile
+20-0llvm/test/Transforms/InstCombine/alloca.ll
+1-0llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
+21-02 files

OPNSense/core 6a1f429 — src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api FilterBaseController.php FilterController.php

firewall: Unify the moveRuleBeforeAction inside moveRuleBeforeBase, remove duplicate logic from FilterController
DeltaFile
+1-76src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+32-2src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+33-782 files

OPNSense/core 10549bd — src/etc/inc interfaces.inc

interfaces: prevent stale tracker configuration #11001
DeltaFile
+15-9src/etc/inc/interfaces.inc
+15-91 files

LLVM/project 86155f9 — orc-rt/tools/ogre ogre.cpp

[orc-rt] Add some extra verbose-mode logging to ogre (#231123)

When the '-v' (verbose) command line option is passed, print the
connection-spec, connection result (success or failure), and session
result (return code or failure).
DeltaFile
+25-6orc-rt/tools/ogre/ogre.cpp
+25-61 files

LLVM/project b2f7b37 — clang/test/CIR/CodeGenHIP builtins-amdgcn-raw-buffer-atomic-add.hip, clang/test/CodeGen pragma-pack-array-alignment-msvc.cpp

Merge branch 'main' into users/cota/bf16trunc-pre-pre
DeltaFile
+92-108llvm/test/CodeGen/NVPTX/i128.ll
+186-0llvm/test/CodeGen/NVPTX/setp-bool.ll
+168-0clang/test/CodeGen/pragma-pack-array-alignment-msvc.cpp
+86-77llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+125-0llvm/test/CodeGen/Mips/GlobalISel/regbankselect/debug-uses.mir
+93-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-raw-buffer-atomic-add.hip
+750-18557 files not shown
+1,722-38663 files

LLVM/project ea74310 — clang/include/clang/AST ASTContext.h RecordLayout.h, clang/lib/AST ASTContext.cpp RecordLayout.cpp

[Clang][Windows] Preserve natural alignment for vector and x86_fp80 arrays under #pragma pack. (#208256)

This is to fix a misalignment issue when using `-mlong-double-80` on
Windows with types containing `long double` inside STL containers or
structures with `#pragma pack(8)`.
On Windows, MSVC STL headers use `#pragma pack(8)` which limits struct
alignment to 8
bytes. When `-mlong-double-80` is used, `long double` becomes `x86_fp80`
which requires 16-byte alignment for correctness (movaps instructions).
This creates a conflict:
- Array allocated with 8-byte alignment (due to pragma pack)
  - Element type requires 16-byte alignment
- memcpy assumes 16-byte alignment
- Result: Crash due to misaligned access
Example:
```cpp
#include <array>
struct Klass { long double a; };
void test() {

    [2 lines not shown]
DeltaFile
+168-0clang/test/CodeGen/pragma-pack-array-alignment-msvc.cpp
+37-7clang/lib/AST/RecordLayoutBuilder.cpp
+11-10clang/lib/AST/RecordLayout.cpp
+13-2clang/include/clang/AST/RecordLayout.h
+8-2clang/include/clang/AST/ASTContext.h
+8-1clang/lib/AST/ASTContext.cpp
+245-221 files not shown
+252-227 files

LLVM/project 6a6534c — clang/lib/StaticAnalyzer/Core SimpleSValBuilder.cpp, clang/test/Analysis PR38208.c aggressive-binop-simpl-complexity.c

[analyzer] Respect symbol complexity bound in tryRearrange (#227367)

The `tryRearrange` logic of the `SValBuilder` lets the analyzer engine
conclude e.g. that `(x + 1) - x` is equal to 1. Unfortunately it had to
be disabled by default because it used low-level `SymMgr.acquire` calls
to construct symbols, which did not respect the symbol complexity limit
and could cause exponential slowdowns in corner cases.

This commit switches to using `SValBuilder::makeSymExprValNN` instead of
those `acquire` calls, because that higher-level method respects the
symbol complexity limits.

This patch only affects the analysis in the case when off-by-default
option aggressive-binary-operation-simplification is enabled. In the
future I intend to enable this simplification by default, at least for
the case of additive operations (which are mathematically "simpler").
DeltaFile
+26-18clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
+30-0clang/test/Analysis/aggressive-binop-simpl-complexity.c
+5-2clang/test/Analysis/PR38208.c
+61-203 files

OPNSense/core ffac004 — src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api SourceNatController.php OneToOneController.php

firewall: Revert parts of b45e2cd as most users would predict a cloned rule to appear adjecent to the original rule (#11007)
DeltaFile
+0-22src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterBaseController.php
+1-4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/SourceNatController.php
+1-4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/OneToOneController.php
+1-4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/NptController.php
+1-4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/FilterController.php
+1-4src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+5-426 files

LLVM/project 1726325 — compiler-rt/lib/asan/tests asan_fake_stack_test.cpp

[compiler-rt][asan] Disable FakeStack CreateDestroy test on AArch64 Linux (#231118)

Is flaky, see https://github.com/llvm/llvm-project/issues/231115.
DeltaFile
+4-0compiler-rt/lib/asan/tests/asan_fake_stack_test.cpp
+4-01 files

LLVM/project b58dd0d — clang/lib/StaticAnalyzer/Checkers CStringChecker.cpp, clang/test/Analysis PR228865.cpp

[analyzer] Ignore nonstandard function named 'memset' (#229119)

Previously CStringChecker ran into an assertion failure when it
encountered a function named 'memset' whose third argument was a `const
int &` instead of the standard `size_t`.

This PR introduces an early return to avoid this.

Fixes #228865

Reported-by: k-arrows
DeltaFile
+20-0clang/test/Analysis/PR228865.cpp
+5-0clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
+25-02 files

LLVM/project 448a654 — llvm/lib/Target/Mips MipsRegisterBankInfo.cpp, llvm/test/CodeGen/Mips/GlobalISel/regbankselect debug-uses.mir

[Mips][GlobalISel] Ignore debug uses in register bank inference (#229948)

Mips GlobalISel currently considers debug instructions when inferring
register banks for ambiguous generic instructions. A `DBG_VALUE` can
therefore cause an ordinary floating-point value to be assigned to
`gprb` instead of `fprb`.

Ignore debug instructions when walking direct uses and COPY chains. This
also handles an unconstrained 32-bit `G_IMPLICIT_DEF` as an ambiguous
value, mapping it to `gprb` instead of asserting after its debug-only
use is ignored.

The MIR test covers a direct debug use, a COPY with only a debug use,
and a 32-bit `G_IMPLICIT_DEF` with only a debug use.

Fixes #229625

Assisted-by: OpenAI Codex 5.6 Sol, co-reviewed by Claude and Yongqiang
Tian.
DeltaFile
+125-0llvm/test/CodeGen/Mips/GlobalISel/regbankselect/debug-uses.mir
+5-4llvm/lib/Target/Mips/MipsRegisterBankInfo.cpp
+130-42 files

LLVM/project dcc3317 — llvm/lib/Transforms/Vectorize LoopVectorizationLegality.cpp

Address comments.
DeltaFile
+4-4llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+4-41 files

NetBSD/pkgsrc sHCpxEf — mail/msmtp options.mk Makefile

   msmtp: msmptq script depends on bash

   msmtpq needs bash too.
   Reported by rnkn via #pkgsrc IRC channel at Libera.chat, thanks!

   PKGREVISION++
VersionDeltaFile
1.19+2-2mail/msmtp/options.mk
1.112+2-2mail/msmtp/Makefile
+4-42 files

LLVM/project 1737935 — llvm/lib/Passes PassBuilderPipelines.cpp, llvm/test/Other new-pm-lto-defaults.ll

[Passes] Run MergeICmps/ExpandMemCmps in LTO post-link pipeline (#230562)

Otherwise memcmp will never get expanded if running the combination of
ThinLTO pre-link and LTO post-link, which is what Rust does, and what
unified LTO does.

The pipeline position is chosen to roughly match what the module
optimization pipeline does. There is no compile-time impact.

For https://github.com/rust-lang/rust/issues/163677.
DeltaFile
+56-0llvm/test/Transforms/PhaseOrdering/X86/expand-memcmp-middle-end.ll
+7-1llvm/lib/Passes/PassBuilderPipelines.cpp
+2-0llvm/test/Other/new-pm-lto-defaults.ll
+65-13 files

OpenBSD/src 4dJfUv8 — usr.bin/tmux menu.c

   Do not use a dead pane when redrawing a menu, from someone in GitHub
   issue 5722.
VersionDeltaFile
1.72+11-2usr.bin/tmux/menu.c
+11-21 files

OpenBSD/src aKjk2L0 — usr.bin/tmux tty-term.c tmux.h

   Respect the ncv capability and do not combine attributes and colours
   that will not work, reported by Joan Bruguera Micó in GitHub issue 5727.
VersionDeltaFile
1.486+30-1usr.bin/tmux/tty.c
1.112+2-1usr.bin/tmux/tty-term.c
1.1456+2-1usr.bin/tmux/tmux.h
+34-33 files

NetBSD/pkgsrc UScM0EB — doc CHANGES-2026

   Updated editors/neovim, games/scummvm
VersionDeltaFile
1.6901+3-1doc/CHANGES-2026
+3-11 files

NetBSD/pkgsrc oXa7sxo — games/scummvm Makefile distinfo

   scummvm: updated to 2026.4.0

   2026.4.0 "Never-slop" (2026-10-10)

   New games:
     - Added support for Mortadelo y Filemón: Una Aventura de Cine Edición Original.
     - Added support for Mortadelo y Filemón: Dos vaqueros chapuceros.
     - Added support for Mortadelo y Filemón: Terror, Espanto y Pavor.
     - Added support for Mortadelo y Filemón: La Sexta Secta.
     - Added support for Mortadelo y Filemón: Operación Moscú.
     - Added support for Mortadelo y Filemón: El Escarabajo de Cleopatra.
     - Added support for Mortadelo y Filemón: La Banda de Corvino.
     - Added support for Mortadelo y Filemón: Balones y Patadones.
     - Added support for Mortadelo y Filemón: Mamelucos a la Romana.
     - Added support for Dracula: Resurrection.
     - Added support for Dracula 2: The Last Sanctuary.
     - Added support for Amerzone: The Explorer's Legacy.
     - Added support for The Cameron Files: The Secret at Loch Ness.
     - Added support for The Messenger / Louvre: The Final Curse.

    [130 lines not shown]
VersionDeltaFile
1.28+8-1games/scummvm/PLIST
1.69+4-4games/scummvm/distinfo
1.144+2-3games/scummvm/Makefile
+14-83 files

NetBSD/pkgsrc xEBxTV7 — editors/neovim distinfo Makefile

   neovim: updated to 0.12.6

   0.12.6

   FEATURES
   - 4af10a8 pos: mutable vim.Pos, vim.Range fields

   FIXES
   - dd29220 filetype: empty 'filetype' skips :setfiletype
   - 7d29bb7 fuzzy: fuzmatch_str_free() frees the wrong element
   - a7101ef health: guard against nil result from vim.system:wait()
   - fe4cd2b health: restore pynvim version lookup
   - 17b908f menu: menu_get() cannot tell :noremenu from :menu <script>
   - efa6905 mpack: wrong encoding of integers beyond the int32 range
   - a5fab3a msgpack: out-of-bounds read on a truncated string
   - 9b7e528 scrollbind: window jumps back and forth with tall virt_lines block
   - 9dbc93b snippet: cancel session on <Esc> in Select mode
   - 10d7cca snippet: cancel session on ESC in insert-mode
   - 04197de statuscolumn: heap buffer overflow with sign/number column

    [14 lines not shown]
VersionDeltaFile
1.31+7-7editors/neovim/Makefile
1.29+4-4editors/neovim/distinfo
+11-112 files

LLVM/project 5f42176 — lldb/test/API/api/multithreaded TestMultithreaded.py

[lldb][test] Disable another part of TestMultithreaded.py on Windows (#231114)

Due to flaky results. See
https://github.com/llvm/llvm-project/issues/231113.

Fails on Windows on Arm mostly but I don't see why it wouldn't fail on
x86_64 too.
DeltaFile
+1-0lldb/test/API/api/multithreaded/TestMultithreaded.py
+1-01 files

FreeNAS/freenas e8d19c0 — tests/api2 test_s3_bucket.py

NAS-144425 / 27.0.0 / Fix force_disable_versioning object lock test (by Qubad786) (#19990)
DeltaFile
+9-6tests/api2/test_s3_bucket.py
+9-61 files

LLVM/project d8749d7 — clang/docs ReleaseNotes.md, clang/lib/Sema SemaTemplate.cpp

[Clang] Suggest missing typename to dependent packs (#230766)

We were not correctly handling packs in the error-recovery path

Fixes https://github.com/llvm/llvm-project/issues/75248
DeltaFile
+18-0clang/test/SemaTemplate/typename-specifier.cpp
+13-3clang/lib/Sema/SemaTemplate.cpp
+3-1clang/docs/ReleaseNotes.md
+34-43 files

LLVM/project 9386502 — llvm/lib/Target/NVPTX NVPTXInstrInfo.td, llvm/test/CodeGen/NVPTX i1-select.ll atomics-b128.ll

[NVPTX] Fold predicate boolean operations into comparisons (#229769)

Select the fused setp.CmpOp.BoolOp forms for integer and floating-point
comparisons followed by predicate AND, OR, or XOR to optimise away these
separate predicate operations.
DeltaFile
+92-108llvm/test/CodeGen/NVPTX/i128.ll
+186-0llvm/test/CodeGen/NVPTX/setp-bool.ll
+83-2llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
+37-47llvm/test/CodeGen/NVPTX/i1-icmp.ll
+28-36llvm/test/CodeGen/NVPTX/atomics-b128.ll
+15-19llvm/test/CodeGen/NVPTX/i1-select.ll
+441-2126 files

LLVM/project 95a6d39 — llvm/lib/Target/SPIRV SPIRVModuleAnalysis.h SPIRVAsmPrinter.cpp

[SPIR-V] Move MIR rewrites out of SPIRVModuleAnalysis (#229736)

Analysis pass must not change the IR it analyzes

Move all modifications from there to a new separate
spirv-prepare-module-analysis pass

Discussed in https://github.com/llvm/llvm-project/pull/227376
DeltaFile
+86-77llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
+13-1llvm/lib/Target/SPIRV/SPIRVMCInstLower.cpp
+11-0llvm/lib/Target/SPIRV/SPIRV.h
+0-10llvm/lib/Target/SPIRV/SPIRVUtils.cpp
+5-2llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
+7-0llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
+122-908 files not shown
+141-9414 files

LLVM/project 4bb26aa — libc/config/linux/x86_64 entrypoints.txt, libc/include time.yaml

[libc] Implement clock_getres in time (#230826)

Implement the standard POSIX.1-2008 / POSIX.1-2024 function
`clock_getres` in `<time.h>` on Linux and register it in the Linux
target entrypoints.

Fixes #230532
DeltaFile
+32-0libc/src/time/linux/clock_getres.cpp
+16-0libc/src/time/linux/CMakeLists.txt
+7-1libc/test/src/time/clock_getres_test.cpp
+7-0libc/include/time.yaml
+2-0libc/test/src/time/CMakeLists.txt
+1-0libc/config/linux/x86_64/entrypoints.txt
+65-12 files not shown
+67-18 files

OPNSense/core 3c87c85 — src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes NetworkInterfaceField.php

interfaces: clear track6-interface as a precaution #11001

If we are not in idassoc6/track6 mode some components will still
look at track6-interface so make sure to remove this at least.

interfaces.php clears the previous settings very consistently,
but that's difficult to do in MVC without adding more logic so
eventually the backend should be fixed to live with the new world
order.
DeltaFile
+12-3src/opnsense/mvc/app/models/OPNsense/Interfaces/FieldTypes/NetworkInterfaceField.php
+12-31 files

LLVM/project 23ad5c8 — libcxx/include __hash_table, libcxx/test/benchmarks/containers/associative unordered_multiset.bench.cpp associative_container_benchmarks.h

[libc++] Avoid key_eq calls in hash_table rehash (#216551)

Use the cached hash to avoid calling `key_eq` which might be costly.

Per `[unord.req.general]#9`, for `unordered_multiset` and
`unordered_multimap`,
rehashing preserves the relative ordering of equivalent elements. These
elements
are contiguous and share the same key and hash.

For elements with the same hash but different keys (if any), their
relative order
is not required, but it is preserved for simplicity.

This is still not applied to unique-key containers (`unordered_set` and
`unordered_map`), where same-hash contiguous blocks are rare and the
extra
check would not be worthwhile.


    [2 lines not shown]
DeltaFile
+24-0libcxx/test/benchmarks/containers/associative/associative_container_benchmarks.h
+1-3libcxx/include/__hash_table
+2-0libcxx/test/benchmarks/containers/associative/unordered_multiset.bench.cpp
+27-33 files

LLVM/project ff97c6f — llvm/docs LangRef.md

[LangRef] Clarify poison input elements give poison in llvm.mask.beforefirst (#230551)

This matches #223935 and reflects the generic expansion.
DeltaFile
+2-0llvm/docs/LangRef.md
+2-01 files