LLVM/project 70ca71b — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPCostAnalysis.h SLPCostAnalysis.cpp

[SLP]Emit full byte reversal of extracted fields as bswap

Gathers of the fully reversed bytes of a scalar are emitted as a byte
swap instead of a bitcast plus reverse shuffle, if not more expensive.
The byte swaps of scalars extracted from the same vector are estimated
together with all their extractions, since the shuffle folds them.

Fixes #235677

Assisted-by: Cursor

Reviewers: RKSimon, bababuck

Pull Request: https://github.com/llvm/llvm-project/pull/235810
DeltaFile
+31-105llvm/test/Transforms/SLPVectorizer/X86/extracted-subfields-bswap.ll
+70-12llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+80-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.cpp
+19-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPCostAnalysis.h
+200-1174 files

LLVM/project d7bd26a — flang/lib/Lower Bridge.cpp, flang/test/Lower/OpenMP assumption-noopenmp-submodule.f90 assumption-submodule.f90

[flang][OpenMP] Support for "omp assumes absent" (#236693)
DeltaFile
+150-10flang/test/Lower/OpenMP/assumption.f90
+29-12flang/lib/Lower/Bridge.cpp
+34-0flang/test/Lower/OpenMP/assumption-submodule.f90
+31-0flang/test/Semantics/OpenMP/declarative-directive01.f90
+0-24flang/test/Lower/OpenMP/assumption-noopenmp-submodule.f90
+21-0flang/test/Parser/OpenMP/assumption.f90
+265-469 files not shown
+323-6415 files

LLVM/project 82885a1 — llvm/include/llvm/Support SuffixTree.h, llvm/lib/Support SuffixTree.cpp

[Support][NFC] Initialize suffix tree metadata during construction (#232720)

Compute internal path lengths and leaf suffix starts during insertion to
eliminate the final `setSuffixIndices()` traversal.

This change preserves functional behavior while avoiding the final
metadata traversal.

SuffixTree construction CPU time against main `f14f34f217a9`:
Core i9-13900K, Linux x86_64, X86 `-Oz`, outlining always enabled,
leaf descendants enabled. Sum inputs per round; for each version, drop
the minimum and maximum of 10 rounds and average the remaining 8.

| Workload | Mode | Baseline (s) | Optimized (s) | CPU change |
| --- | --- | ---: | ---: | ---: |
| CTMark | NoLTO | 0.185136 | 0.174090 | -5.97% |
| CTMark | FullLTO | 0.086525 | 0.075911 | -12.27% |
| SPEC2017 C/C++ Rate | NoLTO | 1.232714 | 1.156888 | -6.15% |
| SPEC2017 C/C++ Rate | FullLTO | 0.570815 | 0.456092 | -20.10% |

    [6 lines not shown]
DeltaFile
+8-33llvm/lib/Support/SuffixTree.cpp
+0-4llvm/include/llvm/Support/SuffixTree.h
+8-372 files

Linux/linux a91337f — tools/testing/selftests/filesystems/configfs configfs_test.c

Merge tag 'configfs-7.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/leitao/linux

Pull configfs fix from Breno Leitao:

 - Fix the build of the configfs selftest on 32-bit architectures,
   broken since the test was added in the v7.4 merge window.

   The harness casts the ASSERT_NE() operands to intmax_t, so handing it
   the pointer returned by mkdtemp() triggers gcc's pointer-to-int-cast
   warning on 32-bit, and the test builds with -Werror.

   KernelCI's 32-bit arm kselftest builds hit this.

* tag 'configfs-7.4-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/leitao/linux:
  selftests/configfs: fix the build on 32-bit architectures
DeltaFile
+1-1tools/testing/selftests/filesystems/configfs/configfs_test.c
+1-11 files

LLVM/project 7d2b3c9 — llvm/docs ReleaseNotes.md, llvm/utils/TableGen InstrInfoEmitter.cpp GlobalISelEmitter.cpp

[TableGen] Remove HwMode expansion from CodeGenDAGPatterns. (#238932)

GlobalISel and Selection both handle HwMode expansion during instruction
selection now.

The only remaining user is FastISel, but no in tree target uses FastISel
with HwModes. If it becomes necessary, I think it should be done at
selection time like SelectionDAG and GlobalISel. For now, FastISel will
skip patterns that use HwMode.

Assisted-by: Claude
DeltaFile
+2-115llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
+11-2llvm/utils/TableGen/FastISelEmitter.cpp
+4-8llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
+2-4llvm/utils/TableGen/GlobalISelEmitter.cpp
+1-2llvm/utils/TableGen/InstrInfoEmitter.cpp
+3-0llvm/docs/ReleaseNotes.md
+23-1311 files not shown
+24-1327 files

FreeNAS/freenas 9147be6 — tests runtest.py

NAS-145133 / 27.1.0 / Accept `--enterprise_tests` (by themylogin) (#20160)

Original PR: https://github.com/truenas/middleware/pull/20158

Co-authored-by: themylogin <themylogin at gmail.com>
DeltaFile
+6-0tests/runtest.py
+6-01 files

FreeNAS/freenas 2e9383f — tests runtest.py

NAS-145133 / 27.0.0 / Accept `--enterprise_tests` (by themylogin) (#20159)

Original PR: https://github.com/truenas/middleware/pull/20158

Co-authored-by: themylogin <themylogin at gmail.com>
DeltaFile
+6-0tests/runtest.py
+6-01 files

LLVM/project 5f43e2c — llvm/include/llvm/IR DroppedVariableStats.h, llvm/lib/CodeGen DroppedVariableStatsMIR.cpp

DroppedVarStats: Count variables visible from inlined frames (#239280)

A dropped variable is only counted if an instruction remains from which
a debugger could observe it. The check needs to consider all inlined
frames to check if the variable is visible from one. The old code would
have false negatives as it wouldn't consider inlined scopes as visible
(see added tests inlined_code_in_scope and
nested_inlined_code_in_scope).

Also remove VisitedScope, which guarded against cycles, but cycles
cannot happen in scopes.

Assisted-by: Claude
DeltaFile
+83-3llvm/test/Other/dropped-var-stats-inlined-instances.ll
+22-43llvm/lib/IR/DroppedVariableStats.cpp
+9-12llvm/include/llvm/IR/DroppedVariableStats.h
+1-2llvm/lib/CodeGen/DroppedVariableStatsMIR.cpp
+1-1llvm/lib/IR/DroppedVariableStatsIR.cpp
+116-615 files

DragonFlyBSD/src d8f9e64 — crypto/openssh sandbox-seccomp-filter.c misc.c, crypto/openssh/openbsd-compat xcrypt.c

Merge remote-tracking branch 'crater/vendor/OPENSSH'

* Update to 10.6p2 CVE-2026-123158 ("SSHole") (DFly not affected)

* Note: DragonFlyBSD is not affected by the security bug being fixed
DeltaFile
+13-5crypto/openssh/openbsd-compat/xcrypt.c
+13-4crypto/openssh/auth-passwd.c
+3-4crypto/openssh/channels.c
+3-2crypto/openssh/myproposal.h
+3-1crypto/openssh/misc.c
+3-0crypto/openssh/sandbox-seccomp-filter.c
+38-163 files not shown
+41-199 files

LLVM/project bf51440 — flang-rt/lib/runtime exceptions.cpp

[flang-rt][cuda] Fix the aarch64 build of the runtime with CUDA 12.0 (#239488)
DeltaFile
+15-3flang-rt/lib/runtime/exceptions.cpp
+15-31 files

LLVM/project 6600c16 — llvm/lib/Target/ARC CMakeLists.txt ARCSubtarget.h

[ARC] Declare command line options in TableGen (#239691)

Move the cl::opt options into ARCOptions.td. ARCTargetMachine holds
`const ARCOptions &CLOpts`, and ARCSubtarget copies it.

LLM-aided
DeltaFile
+12-15llvm/lib/Target/ARC/ARCOptAddrMode.cpp
+18-0llvm/lib/Target/ARC/ARCOptions.td
+6-10llvm/lib/Target/ARC/ARCFrameLowering.cpp
+8-3llvm/lib/Target/ARC/ARCSubtarget.cpp
+8-2llvm/lib/Target/ARC/ARCSubtarget.h
+4-0llvm/lib/Target/ARC/CMakeLists.txt
+56-302 files not shown
+63-308 files

LLVM/project ed4d199 — lldb/source/Plugins/Process/gdb-remote GDBRemoteRegisterContext.cpp, lldb/test/API/functionalities/gdb_remote_client arm64-ios-main.yaml TestRestoreRegistersAfterReconfigure.py

[lldb] Don't restore registers saved under a different layout (#239445)

When g packets are avoided, WriteAllRegisterValues restores each
register by indexing the saved buffer with the current register offsets.
A reconfigure between save and restore, such as a change of the SVE
vector length, can move those offsets past the end of the buffer, in
which case lldb reads out of bounds and sends the bytes to the stub.

Fail the restore when the buffer size no longer matches the register
data size.

rdar://186993734
Assisted-by: Claude
DeltaFile
+110-0lldb/test/API/functionalities/gdb_remote_client/TestRestoreRegistersAfterReconfigure.py
+48-0lldb/test/API/functionalities/gdb_remote_client/arm64-ios-main.yaml
+4-0lldb/source/Plugins/Process/gdb-remote/GDBRemoteRegisterContext.cpp
+162-03 files

LLVM/project 1b88a35 — llvm/include/llvm/MC MCGOFFAttributes.h MCSymbolGOFF.h, llvm/lib/MC GOFFObjectWriter.cpp

[SystemZ][z/OS] Make symbols renameable

z/OS can rename symbols, but only if the symbol is marked as
renameable in the ESD record. Until now all symbols were emitted as
non-renameable. Mark them renameable by default, with these exceptions:
- CELQSTRT and CELQINPL stay non-renameable.
- CELQBST is renameable.
Section-level PR symbols are unchanged.

Add a renameable flag to MCSymbolGOFF and the ER attributes, and
update the affected tests.

Note that HLASM has no way to express this flag, so it is only
visible in the GOFF object output.

Assisted by: IBM Bob
DeltaFile
+12-4llvm/include/llvm/MC/MCSymbolGOFF.h
+7-5llvm/lib/MC/GOFFObjectWriter.cpp
+5-3llvm/lib/Target/SystemZ/SystemZXPLINKAsmPrinter.cpp
+3-3llvm/test/CodeGen/SystemZ/zos-section-1.ll
+3-2llvm/include/llvm/MC/MCGOFFAttributes.h
+3-0llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.h
+33-172 files not shown
+35-198 files

DragonFlyBSD/src 659f261 — crypto/openssh sandbox-seccomp-filter.c misc.c, crypto/openssh/openbsd-compat xcrypt.c

vendor/OPENSSH: Upgrade from 10.6p1 to 10.6p2

* Note that DragonFlyBSD is not vulnerable to the
  bug being fixed here.
DeltaFile
+13-5crypto/openssh/openbsd-compat/xcrypt.c
+13-4crypto/openssh/auth-passwd.c
+3-4crypto/openssh/channels.c
+3-2crypto/openssh/myproposal.h
+3-1crypto/openssh/misc.c
+3-0crypto/openssh/sandbox-seccomp-filter.c
+38-163 files not shown
+41-199 files

NetBSD/src vfGCOhh — sys/rump/librump/rumpkern lwproc.c

   rump: Copy struct proc::p_pgrp explicitly

   Now that it's not in p_startcopy/endcopy, the memcpy isn't enough.

   Should fix the thousands of test failures I caused by moving p_pgrp
   out of the p_startcopy/endcopy range!

   PR kern/60962: fork and spawn read p_pgrp without proc_lock
VersionDeltaFile
1.60+3-2sys/rump/librump/rumpkern/lwproc.c
+3-21 files

LLVM/project 0387066 — clang/include/clang/Analysis/Analyses/LifetimeSafety Loans.h, clang/lib/Analysis/LifetimeSafety LifetimeAnnotations.cpp FactsGenerator.cpp

[LifetimeSafety] Support allocating/freeing functions annotated `ownership_takes`/`ownership_returns` (#213439)

This PR extends LifetimeSafety to model allocating/freeing functions
annotated with `__attribute__((ownership_returns))` /
`__attribute__((ownership_takes))`.

# Contents

* Adds `handleAllocatingCall`, which treats the call result as a fresh
allocation and issues a new loan for it (mirroring `new`).
* Adds `handleFreeingCall`, which treats the annotated arguments as
freed and invalidates their origins (mirroring `delete`), enabling
use-after-free and escape-invalidation diagnostics.
* Extends the `AccessPath` base union to also accept allocating
`CallExpr`s, keeping the number of alternatives unchanged. (breaks build
on 32-bit systems if 1 more template parameter is added)

Completes part of #213435

Assisted-by: DeepSeek V4 for writing most of the code
DeltaFile
+207-0clang/test/Sema/LifetimeSafety/safety.cpp
+47-0clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+39-0clang/test/Sema/LifetimeSafety/invalidations.cpp
+16-7clang/include/clang/Analysis/Analyses/LifetimeSafety/Loans.h
+14-3clang/lib/Sema/SemaLifetimeSafety.h
+14-0clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+337-104 files not shown
+370-1310 files

LLVM/project ed6eead — clang/lib/Analysis/LifetimeSafety LifetimeAnnotations.cpp FactsGenerator.cpp, clang/test/Sema/LifetimeSafety safety.cpp

[LifetimeSafety] Support allocating/freeing functions and builtins (#213443)

This extends LifetimeSafety to model allocating/freeing functions annotated with "ownership_returns" / "ownership_takes", as well as malloc-style builtins without requiring any attributes.

Contents

* Adds "handleAllocatingCall", which treats allocation results as fresh allocations and issues new loans (mirroring "new").
* Adds "handleFreeingCall", which invalidates the origins of freed arguments (mirroring "delete"), enabling use-after-free and escape-invalidation diagnostics.
* Extends the "AccessPath" base union to support allocating "CallExpr"s without increasing the number of alternatives.
* Adds support for "malloc"/"calloc"/"realloc"/"free" and their "__builtin_" spellings as allocating/freeing functions.

Closes #213435

Assisted-by: DeepSeek V4 for writing most of the code
DeltaFile
+30-2clang/test/Sema/LifetimeSafety/safety.cpp
+21-8clang/lib/Analysis/LifetimeSafety/FactsGenerator.cpp
+20-0clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+5-0clang/test/Sema/LifetimeSafety/Inputs/lifetime-analysis.h
+76-104 files

FreeBSD/ports 24c0026 — comms/hamlib Makefile pkg-plist

Revert "comms/hamlib: fix plist after USES=tcl rework"

This botched commit breaks the plist when tcl version is set at
8.6, but not 9.1.

PR: 300092

This reverts commit ae14dbd670c1ac0f773bf629c268abc28a785236.
DeltaFile
+5-5comms/hamlib/pkg-plist
+1-0comms/hamlib/Makefile
+6-52 files

NetBSD/pkgsrc YKX52fJ — doc CHANGES-2026

   doc: Updated www/p5-HTTP-Body to 1.25
VersionDeltaFile
1.7691+2-1doc/CHANGES-2026
+2-11 files

FreeBSD/ports ee025ca — comms/hamlib pkg-plist

Revert "comms/hamlib: Fix build"

...to revert my own botched commit regarding tcl.

PR: 300092

This reverts commit 5b1b3c1332928ceb01ebf678ea00e362218dc95f.
DeltaFile
+6-7comms/hamlib/pkg-plist
+6-71 files

NetBSD/pkgsrc GKTiiXL — www/p5-HTTP-Body Makefile distinfo

   p5-HTTP-Body: update to 1.25.

   TOOL_DEPENDS -> TEST_DEPENDS for a test dependency.

   1.25      2026-11-05 18:47:08+01:00 Europe/Berlin
        - SECURITY, CVE-2026-117500: the suffix of an upload's filename is
          worked out from its last 255 bytes only, only when $file_temp_suffix
          is unset, and for the default $basename_regexp by a string search
          instead of the regexp; a filename of many dots ending in a backslash
          made the default $basename_regexp take time quadratic in its length
          (7 s per part at the 32 KiB header limit, once per part) in the
          default configuration
        - SECURITY, CVE-2026-117501: a chunked body is framed line by line with
          a limit on the chunk-size line ($HTTP::Body::max_chunk_line_size,
          1024 bytes), chunk data is passed on as it arrives instead of being
          held until the chunk is complete, malformed framing (a line that is
          no chunk-size line, a size that does not fit an integer, chunk data
          not followed by CRLF) croaks instead of buffering forever, and
          nothing after the trailer or after the body parser is done is kept

    [21 lines not shown]
VersionDeltaFile
1.17+4-4www/p5-HTTP-Body/distinfo
1.35+3-3www/p5-HTTP-Body/Makefile
+7-72 files

LLVM/project 7642deb — llvm/test/Analysis/CostModel/X86 masked-intrinsic-cost.ll

[CostModel][X86] Add f16/bf16 masked load/store test coverage (#239666)
DeltaFile
+788-178llvm/test/Analysis/CostModel/X86/masked-intrinsic-cost.ll
+788-1781 files

LLVM/project 40926f7 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 spillcost-gather-vector-parts.ll

[SLP]Count spills of vectorized parts of gather nodes

Vectorized parts of a gather node are combined at its user and stay
live across non-vectorized calls in between, which spill cost missed.

Assisted-by: Cursor

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/239687
DeltaFile
+10-7llvm/test/Transforms/SLPVectorizer/AArch64/spillcost-gather-vector-parts.ll
+14-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+24-72 files

LLVM/project b13438d — llvm/lib/CodeGen RegisterCoalescer.cpp, llvm/test/CodeGen/AArch64 coalescer-readundef-subreg-def-subregtoreg.mir coalescer-readundef-subreg-def.mir

Coalescer: Preserve read-undef when coalescing into a larger reg.

When rewriting a %1:gpr32 def into %0.sub_32:gpr64, the new def operand
can be marked with undef if no lanes from the larger gpr64 reg are live.

Assisted-by: codex (test reduction)
DeltaFile
+115-0llvm/test/CodeGen/AArch64/coalescer-readundef-subreg-def.mir
+65-0llvm/test/CodeGen/AArch64/coalescer-readundef-subreg-def-subregtoreg.mir
+14-1llvm/lib/CodeGen/RegisterCoalescer.cpp
+194-13 files

LLVM/project a2bc324 — llvm/lib/Target/AArch64 AArch64RegisterInfo.cpp, llvm/test/CodeGen/AArch64 subreg-to-reg-coalescing.mir fcvt-i256.ll

[AArch64] Eliminate shouldCoalesce restriction.

This does not enforce much, we are already very careful about ORRW,
which is only considered as a copy instruction when we can prove it's
not performing a required zero extension.
DeltaFile
+20-25llvm/test/CodeGen/AArch64/aarch64-matrix-umull-smull.ll
+7-7llvm/test/CodeGen/AArch64/predicate-as-counter-loop-rewrites.ll
+6-7llvm/test/CodeGen/AArch64/implicit-def-subreg-to-reg-regression.ll
+0-9llvm/lib/Target/AArch64/AArch64RegisterInfo.cpp
+1-8llvm/test/CodeGen/AArch64/fcvt-i256.ll
+3-4llvm/test/CodeGen/AArch64/subreg-to-reg-coalescing.mir
+37-605 files not shown
+42-7211 files

LLVM/project 3d6e86b — llvm/test/CodeGen/AArch64 subreg-to-reg-coalescing.mir

Clarify subreg-to-reg-coalescing.mir test intent
DeltaFile
+17-64llvm/test/CodeGen/AArch64/subreg-to-reg-coalescing.mir
+17-641 files

LLVM/project d844937 — llvm/lib/Target/DirectX DXILLegalizePass.cpp, llvm/test/CodeGen/DirectX legalize-i8-alloca.ll legalize-intrinsic-operands.ll

[DirectX] Generalize integer legalization while preserving intrinsic ABI operands (#233491)

Share SSA legalization across unsupported integer widths, including i8,
using legal i32/i64 carriers and width-aware signed and unsigned
normalization.

The previous PR failed becuase it did not preserve fixed intrinsic ABI
operands for resource counters and shader input/output operations. This
change does.

Add regression coverage for integer semantics, intrinsic lowering, and
profile metadata, and document the legalization behavior.

Fixes #225169

Assisted by GPT 6.1-Sol via Co-pilot

---------

Co-authored-by: Copilot <223556219+Copilot at users.noreply.github.com>
DeltaFile
+216-122llvm/lib/Target/DirectX/DXILLegalizePass.cpp
+337-0llvm/test/CodeGen/DirectX/legalize-integers.ll
+124-80llvm/test/CodeGen/DirectX/legalize-i8.ll
+146-0llvm/test/CodeGen/DirectX/legalize-integers-defined.ll
+49-0llvm/test/CodeGen/DirectX/legalize-intrinsic-operands.ll
+19-9llvm/test/CodeGen/DirectX/legalize-i8-alloca.ll
+891-2116 files not shown
+952-21112 files

LLVM/project 6f766b2 — clang/lib/CIR/CodeGen CIRGenModule.cpp, clang/test/CIR/CodeGen named-module-available-externally-skip.cppm

[CIR] Skip function bodies imported from other named modules

When a function's body comes from another named module, CIRGen now emits
just a declaration instead of hitting an errorNYI.  always_inline
template instantiations still get their bodies, since a library may not
provide symbols for them.

Assisted-by: Cursor / Claude Opus 5.5
DeltaFile
+112-0clang/test/CIR/CodeGen/named-module-available-externally-skip.cppm
+6-4clang/lib/CIR/CodeGen/CIRGenModule.cpp
+118-42 files

LLVM/project dd0608c — llvm/lib/Transforms/Vectorize VPlan.h VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize outer-loop-bitextract.ll bitextract-bitinsert.ll

[LV] Widen `bitextract` and `bitinsert`
DeltaFile
+306-0llvm/test/Transforms/LoopVectorize/bitextract-bitinsert.ll
+132-0llvm/test/Transforms/LoopVectorize/RISCV/bitextract-bitinsert-scalable.ll
+109-0llvm/test/Transforms/LoopVectorize/X86/bitextract-bitinsert-cost.ll
+95-0llvm/test/Transforms/LoopVectorize/outer-loop-bitextract.ll
+29-14llvm/lib/Transforms/Vectorize/VPlan.h
+42-1llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+713-152 files not shown
+733-158 files

LLVM/project 6bfeba9 — llvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp, llvm/test/CodeGen/AArch64 sve-widen-trapping-binops.ll

[SelectionDAG] CollectOpsToWiden should use ElementCount safe maths when padding result. (#239657)
DeltaFile
+12-0llvm/test/CodeGen/AArch64/sve-widen-trapping-binops.ll
+2-1llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+14-12 files