LLVM/project 7f298d7llvm/lib/Transforms/Vectorize SLPVectorizer.cpp

Update for comments
DeltaFile
+4-5llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+4-51 files

LLVM/project 5be66d0llvm/lib/Target/AMDGPU SIModeRegisterDefaults.h SIISelLowering.h

[NFC][AMDGPU] Let IR level callers query the FMA/FMAD predicates (#213310)

isFMADLegal and isFMAFasterThanFMulAndFAdd read the denormal mode out of
the MachineFunction, so nothing before instruction selection can ask
them whether an fmul/fadd pair will be fused. Take an explicit
DenormalFPEnv instead, and make the existing MachineFunction /
SelectionDAG / MachineInstr entry points thin wrappers over it.

Also override the IR level isFMAFasterThanFMulAndFAdd hook. The two
views agree by construction, since SIModeRegisterDefaults copies its
denormal fields out of getDenormalFPEnv.

isFMADLegal uses VT as written and does not look through vectors, so a
vector type reports false, as in the SelectionDAG overload it was
extracted from.

The patch is preparation for querying these from getArithmeticInstrCost
and a revived isProfitableToSinkOperands.


    [2 lines not shown]
DeltaFile
+41-19llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+10-0llvm/lib/Target/AMDGPU/SIISelLowering.h
+5-0llvm/lib/Target/AMDGPU/SIModeRegisterDefaults.h
+56-193 files

LLVM/project a432964llvm/lib/Target/AMDGPU VOP3PInstructions.td, llvm/test/CodeGen/AMDGPU mad-mix-lo-bf16.ll mad-mix-lo.ll

[AMDGPU] Fix sign of zero in fpround(fmul) -> V_{MAD,FMA}_MIX{LO,HI} (#214544)

The isel patterns lowering `fptrunc (fmul float %a, %b)` to a mix
instruction passed +0.0 as the FMA addend. Under round-to-nearest fma(a,
b, +0.0) is +0.0 whenever a * b is -0.0, so the sign of zero was lost:
on gfx90a, `(half)(-1.0f * 0.0f)` returned +0.0.

Use a -0.0 addend instead, which is the correct multiplicative identity
for an FMA and is what the f32 sibling pattern in MadFmaMixFP32Pats has
always done.

Verified on gfx90a: (half)(-1.0f * 0.0f) now returns 0x8000.
DeltaFile
+76-76llvm/test/CodeGen/AMDGPU/llvm.log10.ll
+76-76llvm/test/CodeGen/AMDGPU/llvm.log.ll
+11-11llvm/test/CodeGen/AMDGPU/mad-mix-lo.ll
+4-4llvm/test/CodeGen/AMDGPU/mad-mix-lo-bf16.ll
+3-3llvm/lib/Target/AMDGPU/VOP3PInstructions.td
+170-1705 files

LLVM/project 668134ellvm/include/llvm/DebugInfo/GSYM GsymReader.h FunctionInfo.h, llvm/lib/DebugInfo/GSYM FunctionInfo.cpp GsymReader.cpp

[gsymutil] Add `--statistics` option (#186495)

# Motiviation

Currently, if one wants to know the size of the sections in a gSYM (e.g.
to check if they exceed 4GB), they have to dump the whole gSYM in the
text form, then process that huge text to get the sizes.

# New option `--statistics[=<format>]`

This patch adds a `llvm-gsymutil --statistics[=<format>]` option to
print the size info for all sections. It supports three formats:
* `text`: Default.
* `json`: Dense JSON.
* `pretty-json`: Pretty-printed JSON.

See example output below.

# Examples

    [67 lines not shown]
DeltaFile
+397-0llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
+204-0llvm/lib/DebugInfo/GSYM/GsymReader.cpp
+79-0llvm/lib/DebugInfo/GSYM/FunctionInfo.cpp
+38-0llvm/include/llvm/DebugInfo/GSYM/FunctionInfo.h
+25-0llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
+18-0llvm/include/llvm/DebugInfo/GSYM/GsymReader.h
+761-03 files not shown
+776-09 files

OpenBSD/src 2IaC4Qzusr.sbin/npppd/npppd lcp.c

   Fix LCP MRU option handing.  Pointed out by Arthur Chan.

   ok mvs deraadt
VersionDeltaFile
1.19+4-6usr.sbin/npppd/npppd/lcp.c
+4-61 files

LLVM/project d39a398clang/docs ClangFormat.md ClangFormatStyleOptions.md, clang/docs/tools dump_format_help.py dump_format_style.py

[docs][clang-format] Migrate generated clang-format docs to markdown

The challenge here is that the documentation is generated from Doxygen
comments in headers, `Format.h` and `IncludeStyle.h`.

First, the generator was updated to generate markdown constructs, and
then the Doxygen comments were also modified to use markdown constructs.
Mostly this means using single backticks instead of double backticks,
which is the Doxygen-native way of expressing code font blocks anyway,
so that's good.

To validate, I built the Sphinx docs and the doxygen, and I confirmed
that the generator script is idempotent, meaning it doesn't change the
markdown output. When I add a new option to clang-format, it shows up in
the help text block, so it works.

Before/after validation links:
| Source file | Before HTML | After HTML |
| --- | --- | --- |

    [4 lines not shown]
DeltaFile
+5,424-5,444clang/docs/ClangFormatStyleOptions.md
+401-400clang/include/clang/Format/Format.h
+236-259clang/docs/ClangFormat.md
+87-27clang/docs/tools/dump_format_style.py
+34-33clang/include/clang/Tooling/Inclusions/IncludeStyle.h
+3-11clang/docs/tools/dump_format_help.py
+6,185-6,1746 files

LLVM/project 330f7fdclang/docs ClangFormatStyleOptions.md, clang/docs/tools dump_format_style.py

Fix dump_format_style.py blank lines and trailing whitespace, regenerate

The reindent_fenced_blocks() change in the previous commit introduced two
output issues when regenerating ClangFormatStyleOptions.md:

1. Empty lines inside code blocks got an indentation prefix added, producing
   trailing whitespace. Fix by skipping the prefix for whitespace-only lines.

2. The blank line that separates a description sentence from the following
   code fence was lost. This blank line is necessary for correct CommonMark
   loose-list rendering. Fix by inserting a blank line before any opening
   code fence (triple-backtick with a lang word, or ::: with a directive)
   that immediately follows a non-blank line.

Regenerate ClangFormatStyleOptions.md with the corrected generator.
DeltaFile
+263-64clang/docs/ClangFormatStyleOptions.md
+3-4clang/include/clang/Format/Format.h
+6-1clang/docs/tools/dump_format_style.py
+272-693 files

LLVM/project 0ce2c97clang/docs ClangFormatStyleOptions.md ClangFormat.md, clang/docs/tools dump_format_style.py

fix link word wrapping
DeltaFile
+26-9clang/docs/tools/dump_format_style.py
+9-5clang/docs/ClangFormat.md
+0-1clang/docs/ClangFormatStyleOptions.md
+35-153 files

LLVM/project 77b44ebclang/docs ClangFormat.rst ClangFormat.md, clang/lib/Format CMakeLists.txt

[docs][clang-format] Rename clang-format docs *.rst -> *.md, update refs (#211397)

Tracking issue: #201242
See the [migration guide] for more information. 

[migration guide]:
https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the initial straight rename commit. It will probably break the
docs build, but it has to be a separate PR for blame preservation
purposes.

---------

Co-authored-by: owenca <owenpiano at gmail.com>
DeltaFile
+0-8,043clang/docs/ClangFormatStyleOptions.rst
+8,043-0clang/docs/ClangFormatStyleOptions.md
+0-366clang/docs/ClangFormat.rst
+366-0clang/docs/ClangFormat.md
+2-2clang/test/Format/docs_updated.test
+2-2clang/lib/Format/CMakeLists.txt
+8,413-8,4132 files not shown
+8,417-8,4178 files

LLVM/project 9219721llvm/test/CodeGen/NVPTX cache-hint-load-store.ll cache-hint-intrinsics.ll

[NVPTX] Fix broken cache hint metadata lit tests (#214600)

I just merged https://github.com/llvm/llvm-project/pull/204067 and
unfortunately forgot to locally compile all the PTX I was generating
from cache hint metadata in lit tests.

- I didn't know that .L2::cache_hint isn't valid on PTX volatile loads.
We need to drop the metadata then for volatile loads. I'll put this up
in a PR later, but for now just delete the lit test that generates the
invalid PTX. I'll add it back in the follow up.

- I forgot to provide SM version and PTX version when invoking ptxas for
the lit tests.
DeltaFile
+1-14llvm/test/CodeGen/NVPTX/cache-hint-transforms.ll
+1-1llvm/test/CodeGen/NVPTX/cache-hint-load-store.ll
+1-1llvm/test/CodeGen/NVPTX/cache-hint-intrinsics.ll
+1-1llvm/test/CodeGen/NVPTX/cache-hint-cache-policy.ll
+1-1llvm/test/CodeGen/NVPTX/cache-hint-atomics.ll
+5-185 files

FreeBSD/doc dd46824website/content/en/releng _index.adoc

14.5: Add to code freeze table

Approved by:    re (implicit)
Sponsored by:   OpenSats Initiative
DeltaFile
+1-0website/content/en/releng/_index.adoc
+1-01 files

FreeBSD/doc 1693317website/content/en/releases/14.5R hardware.adoc

14.5: Regenerate hardware notes

Approved by:    re (implicit)
Sponsored by:   OpenSats Initiative
DeltaFile
+70-33website/content/en/releases/14.5R/hardware.adoc
+70-331 files

FreeNAS/freenas 54a0b18src/middlewared/middlewared/alembic/versions/26.0 2026-08-06_12-00_normalize_nic_mac.py, src/middlewared/middlewared/api/base/types network.py

Reject and normalize non-colon NIC MAC addresses

## Problem
The NIC `mac` field accepted dash-separated, no-separator and mixed forms, but libvirt's `defineXML` only parses colon-separated MACs — so a VM or container configured that way was accepted by the API and then failed to start with an XML parse error. Existing installs can already have such addresses stored.

## Solution
- **Colon-only validation.** The shared `MACAddress` type now matches colon-separated hex only. It is anchored with `\Z` rather than `$`, because Python's `$` also matches before a trailing newline and would otherwise let through a value libvirt still cannot parse.
- **Lowercase normalization.** MAC addresses are case-insensitive, but every comparison we make against one is a plain string compare, so an uppercase spelling was a distinct value to the per-instance duplicate check. The type now lowercases, and `device_uniqueness_check` case-folds the NIC identity so rows written before this still compare correctly.
- **Migration for stored addresses.** Existing `vm_device` / `container_device` NIC rows are rewritten to the canonical form. Anything not carrying a valid 48-bit address is replaced with a freshly generated MAC — that includes non-string values, which an incus migration can leave behind when PyYAML resolves an unquoted address such as `52:54:00:12:34:56` as a YAML 1.1 base-60 integer.

Frozen API versions keep their original pattern, so a client pinned to 25.10 that sends a dash-separated MAC is now rejected at validation instead of failing later at start.
DeltaFile
+67-0src/middlewared/middlewared/alembic/versions/26.0/2026-08-06_12-00_normalize_nic_mac.py
+63-0src/middlewared/middlewared/pytest/unit/api/base/types/test_mac_address.py
+24-0src/middlewared/middlewared/pytest/unit/plugins/test_libvirt_device_uniqueness.py
+7-3src/middlewared/middlewared/api/base/types/network.py
+5-1src/middlewared/middlewared/utils/libvirt/utils.py
+2-3src/middlewared/middlewared/api/v26_0_0/vm_device.py
+168-71 files not shown
+170-107 files

LLVM/project 5200600clang-tools-extra/include-cleaner/lib WalkAST.cpp, clang-tools-extra/include-cleaner/unittests WalkASTTest.cpp

[include-cleaner] Ensure receiver headers are kept when accessing ObjC properties (#212633)

When accessing Objective-C properties via dot-notation (e.g., obj.foo),
include-cleaner was previously only recording the usage of the property
itself or its underlying getter/setter methods. This could lead to cases
where the header declaring the receiver's type (Interface or Protocol)
was incorrectly flagged as unused if no other standard methods were
invoked on it.
DeltaFile
+304-6clang-tools-extra/include-cleaner/unittests/WalkASTTest.cpp
+13-2clang-tools-extra/include-cleaner/lib/WalkAST.cpp
+317-82 files

LLVM/project 9c121cdllvm/include/llvm/DebugInfo/DWARF DWARFExpressionPrinter.h, llvm/lib/DebugInfo/DWARF DWARFExpressionPrinter.cpp

[DebugInfo] Fix compact DWARF expression failure handling (#213391)

printDwarfExpressionCompact has two pre-existing failure paths that
silently produce bad output.

The register-name callback is optional, but the short DW_OP_reg* and
DW_OP_breg* paths call it directly, so a missing callback falls over.
Use resolveRegName for every register form and report an unknown
register only after both name-resolution paths fail.

DW_OP_entry_value has the same problem: it ignores a failed recursive
print, wraps the partial output in entry(...), and returns true. Print
entry-value subexpressions into a temporary buffer and propagate failure
before adding entry(...), so a failed subexpression can't come back as
successful output.

While here, GetRegName in llvm-objdump has a latent ordering issue: it
writes an unknown-register diagnostic as soon as target lookup misses,
even though resolveRegName can still decode an ASCII-packed

    [13 lines not shown]
DeltaFile
+109-55llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp
+50-0llvm/test/tools/llvm-objdump/ELF/ARM/debug-vars-ascii-packed-reg.s
+28-9llvm/lib/DebugInfo/DWARF/DWARFExpressionPrinter.cpp
+3-1llvm/include/llvm/DebugInfo/DWARF/DWARFExpressionPrinter.h
+1-2llvm/tools/llvm-objdump/SourcePrinter.cpp
+191-675 files

FreeNAS/freenas d34f659src/middlewared/middlewared/plugins/apps crud.py, src/middlewared/middlewared/plugins/apps/ix_apps query.py

NAS-141749 / 27.0.0-BETA.1 /  Report apps whose metadata is unusable so they can be deleted (#19457)

## Problem

An app whose `metadata.yaml` we cannot read or make sense of was skipped
outright by `list_apps`, so it never appeared in `app.query`. That left
no way to get rid of it: `app.delete` resolves the app first and failed
with `[ENOENT] App X does not exist`, while the directory, the ix-volume
dataset and often a set of still-running containers stayed behind
indefinitely. The only way out was to delete things by hand over SSH.

Digging into it turned up something worse and independent of the above:
the damage from one broken app was never contained to that app.
`_load_app_yaml` did not catch `OSError`, so an unreadable file killed
`app.metadata_generate`, and `get_current_app_config` is a bare `open()`
outside any try, so metadata pointing at a missing version directory
killed the job too. Every lifecycle path waits on that job with
`raise_error=True`, so a single broken app meant install, update,
upgrade, rollback and delete all failed for every app on the system.

    [84 lines not shown]
DeltaFile
+378-0src/middlewared/middlewared/pytest/unit/plugins/apps/test_list_apps_error_state.py
+287-0src/middlewared/middlewared/pytest/unit/plugins/apps/test_apps_crud.py
+237-0src/middlewared/middlewared/pytest/unit/plugins/apps/test_app_metadata_error.py
+143-42src/middlewared/middlewared/plugins/apps/ix_apps/query.py
+153-21src/middlewared/middlewared/plugins/apps/crud.py
+138-0src/middlewared/middlewared/pytest/unit/plugins/apps/test_app_metadata_generate.py
+1,336-6321 files not shown
+1,948-11127 files

LLVM/project 3e9646alld/test/wasm shared-synthetic-symbols.s, lld/wasm Driver.cpp

[lld][WebAssembly] Allow linker-synthetic symbols to be undefine when building shared libraries (#153537)

Fixes: #103592
DeltaFile
+75-0lld/test/wasm/shared-synthetic-symbols.s
+21-10lld/wasm/Driver.cpp
+96-102 files

HardenedBSD/src 6fb2604contrib/llvm-project/lld/ELF Thunks.h Thunks.cpp, contrib/llvm-project/lld/ELF/Arch PPC.cpp

Merge branch 'freebsd/15-stable/main' into hardened/15-stable/main
DeltaFile
+54-25contrib/llvm-project/lld/ELF/Thunks.cpp
+0-27sys/fs/nfsclient/nfs_clrpcops.c
+7-6contrib/llvm-project/lld/ELF/Arch/PPC.cpp
+9-3sys/fs/nfs/nfs_commonkrpc.c
+8-2sys/arm64/vmm/io/vgic_v3.c
+6-3contrib/llvm-project/lld/ELF/Thunks.h
+84-667 files not shown
+100-7513 files

HardenedBSD/ports 7a2156cdevel/actor-framework pkg-plist, misc/mcp-inspector pkg-plist

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+7,064-11,181misc/mcp-inspector/pkg-plist
+1,703-2,623misc/mcp-inspector/files/package-lock.json
+72-58devel/actor-framework/pkg-plist
+47-70net-p2p/renterd/files/patch-vendor_modules.txt
+43-66net-p2p/hostd/files/patch-vendor_modules.txt
+49-53net-p2p/hostd/Makefile
+8,978-14,05174 files not shown
+9,571-14,54980 files

FreeBSD/src 187da13release/pkg_repos release-dvd.conf, sys/conf newvers.sh

14.5: create releng/14.5 branch

Update from PRERELEASE to BETA1
Switch pkg(8) configuration to use the quarterly repositories
Bump __FreeBSD_version to 1405000

Approved by:    re (implicit)
Sponsored by:   OpenSats Initiative
DeltaFile
+2-2release/pkg_repos/release-dvd.conf
+1-1sys/sys/param.h
+1-1sys/conf/newvers.sh
+4-43 files

FreeBSD/src 4abf6e7sys/conf newvers.sh, sys/sys param.h

Post-14.5-branch updates

Rename stable/14 to -STABLE

Bump __FreeBSD_version to 1405500

Approved by:    re (implicit)
Sponsored by:   OpenSats Initiative
DeltaFile
+1-1sys/sys/param.h
+1-1sys/conf/newvers.sh
+2-22 files

HardenedBSD/ports 9300242devel/lazygit Makefile distinfo

devel/lazygit: Update to 0.64.0

Changes:        https://github.com/jesseduffield/lazygit/releases/tag/v0.64.0
DeltaFile
+5-5devel/lazygit/distinfo
+1-2devel/lazygit/Makefile
+6-72 files

FreeBSD/ports 9300242devel/lazygit Makefile distinfo

devel/lazygit: Update to 0.64.0

Changes:        https://github.com/jesseduffield/lazygit/releases/tag/v0.64.0
DeltaFile
+5-5devel/lazygit/distinfo
+1-2devel/lazygit/Makefile
+6-72 files

FreeBSD/src e73fcd4sys/dev/evdev evdev_private.h evdev.c

evdev: add devnum sysctl

Add a sysctl entry for the evdev device number (devnum) to allow
libudev-devd to populate the corresponding device information
fields (MAJOR and MINOR) when running in a jail with no input devices
exposed through devfs.

Signed-off-by: Quentin Thébault <quentin.thebault at defenso.fr>

Reviewed by:    wulf
Sponsored by:   Defenso

(cherry picked from commit 746c374aa94b46712e6defb3ab56dd2d6ad8db64)
DeltaFile
+6-0sys/dev/evdev/evdev.c
+1-0sys/dev/evdev/evdev_private.h
+7-02 files

FreeBSD/src 6e81fbfusr.sbin/bsdinstall/scripts hardening

bsdinstall: add a hardening knob for unprivileged kenv access

It makes sense.

Reviewed by:    zleei
Differental Revision:   https://reviews.freebsd.org/D57755
DeltaFile
+4-0usr.sbin/bsdinstall/scripts/hardening
+4-01 files

HardenedBSD/src 6e81fbfusr.sbin/bsdinstall/scripts hardening

bsdinstall: add a hardening knob for unprivileged kenv access

It makes sense.

Reviewed by:    zleei
Differental Revision:   https://reviews.freebsd.org/D57755
DeltaFile
+4-0usr.sbin/bsdinstall/scripts/hardening
+4-01 files

LLVM/project 54ee0d1llvm/lib/Target/AMDGPU GCNHazardRecognizer.h GCNHazardRecognizer.cpp, llvm/test/CodeGen/AMDGPU vperm-pk16-postmisched-hazard.mir vperm-pk16-sched-softcost.mir

[AMDGPU] Prefer a safe V_PERM_PK16 follower in the scheduler (gfx1250)

Stacked on the post-RA V_PERM_PK16 hazard fixup. V_PERM_PK16 must be
immediately followed by a "safe" instruction (see
SIInstrInfo::isVPermPk16SafeInstr) or the post-RA fixup has to insert a
forced-EXEC V_NOP. Teach GCNHazardRecognizer to bias a safe follower into
the slot right after a V_PERM_PK16 so that V_NOP can be avoided.

Assisted-by: Opus 4.8 Medium
DeltaFile
+56-0llvm/test/CodeGen/AMDGPU/vperm-pk16-sched-softcost.mir
+46-3llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
+33-0llvm/test/CodeGen/AMDGPU/vperm-pk16-postmisched-hazard.mir
+21-0llvm/lib/Target/AMDGPU/GCNHazardRecognizer.h
+156-34 files

LLVM/project 5194e33llvm/include/llvm/ExecutionEngine/Orc/RTBridge Calls.h, llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS Calls.h

[ORC] Hoist Caller state into the base; add operator bool (#214483)

Move the ExecutionSession reference and callee address up from the SPS
implementation into the rt::Caller base, together with their constructor
and new executionSession() / calleeAddr() accessors. The named callers
(MainCaller, VoidVoidCaller, ...) become plain aliases of Caller rather
than subclasses, and rt::sps::Caller inherits the base constructor.

Add an explicit operator bool() reporting whether the caller has a
non-null callee address.

Give rt::sps::Caller::Create a SymbolLookupFlags parameter. Looking the
callee up as a weakly-referenced symbol now yields a caller with a null
callee (operator bool == false) when the symbol is absent, rather than
an error -- so callers for optional runtime functions can be constructed
and then tested for availability.

Adds SPSCallersTest coverage for operator bool and the accessors, and
for the required/weak x present/absent Create paths.
DeltaFile
+72-0llvm/unittests/ExecutionEngine/Orc/SPSCallersTest.cpp
+21-19llvm/include/llvm/ExecutionEngine/Orc/RTBridge/SPS/Calls.h
+27-7llvm/include/llvm/ExecutionEngine/Orc/RTBridge/Calls.h
+120-263 files

LLVM/project d50b994llvm/lib/Target/NVPTX NVPTXAsmPrinter.cpp, llvm/test/CodeGen/NVPTX fp128-global.ll

[NVPTX][AsmPrinter] Allow fp128 aggregate types in NVPTX backend (#214546)

Fixes an issue where aggregate types containing fp128 non-zero elements
would cause "unsupported type" due to missing case in bufferLEByte. Adds
fp128-global.ll test.
DeltaFile
+23-0llvm/test/CodeGen/NVPTX/fp128-global.ll
+1-0llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
+24-02 files

HardenedBSD/ports 7ecb56bdevel/immanent-checker distinfo Makefile

devel/immanent-checker: Upgrade from 0.23 to 0.42

  Changelog:
    - add manpage
    - add --use-result-dir
    - add --verbose

Sponsored by:   OTTRIA
DeltaFile
+13-7devel/immanent-checker/Makefile
+7-5devel/immanent-checker/distinfo
+20-122 files