LLVM/project a3a42cd — llvm/lib/CodeGen CodeGenPrepare.cpp, llvm/test/Transforms/CodeGenPrepare/RISCV strength-reduce-vector-as-data-rv32.ll

[CGP] Fix incorrectly sized ConstantInt crash (#239885)

Fixes a buildbot failure after #226197,
https://lab.llvm.org/buildbot/#/builders/210/builds/13772.

We were always using a 64-bit APInt for StructSize which causes a type
mismatch and crash for 32-bit targets with scalable vectors, e.g.
riscv32 with +v
DeltaFile
+57-0llvm/test/Transforms/CodeGenPrepare/RISCV/strength-reduce-vector-as-data-rv32.ll
+1-1llvm/lib/CodeGen/CodeGenPrepare.cpp
+58-12 files

FreeNAS/freenas 63a4ab6 — src/middlewared/middlewared/pytest/unit/plugins test_webui_dataset_consumers.py

Drop the webui dataset consumers unit test

## Context
The test only ran the matcher against hand-built rows; `webui.dataset.details` is better checked through the API on a live system.
DeltaFile
+0-104src/middlewared/middlewared/pytest/unit/plugins/test_webui_dataset_consumers.py
+0-1041 files

FreeNAS/freenas 5eef269 — src/middlewared/middlewared/plugins/pool_ dataset_details.py

Read pool.dataset.details from zfs.resource

## Problem
`pool.dataset.details` collected its datasets through `pool.dataset.query` and the legacy `generic_query` walk, which counts snapshots by iterating every snapshot of every dataset.

## Solution
List the datasets with `zfs.resource.list_impl` and count snapshots with `zfs.resource.snapshot.count_impl`, then pass each row through the existing legacy property and user property normalizers and rebuild the nested children, so the output is unchanged down to key and list order. The consumer matching is untouched. If the recursive snapshot count fails, each dataset is counted on its own so only the one that fails reports 0, as before.
DeltaFile
+74-52src/middlewared/middlewared/plugins/pool_/dataset_details.py
+74-521 files

FreeNAS/freenas e0b5a5f — src/middlewared/middlewared/api/v28_0_0 webui_dataset.py, src/middlewared/middlewared/plugins/webui dataset.py dataset_consumers.py

Add webui.dataset.details

## Context
The Datasets page loads everything through `pool.dataset.details`, which returns the legacy property shape, repeats every dataset once per ancestor under `children`, attributes a locked child's shares to its parent too, lists an iSCSI extent once per target it is mapped to, and runs every consumer query whatever the caller's roles.

## Solution
`webui.dataset.details` returns one flat row per dataset, each after its parent, carrying the zfs.resource properties and user properties, tier, snapshot count, and the shares, VMs, containers, apps and data protection tasks that use it.

- **Ownership**: a share, extent or namespace belongs to the dataset mounted exactly at its path, otherwise to the dataset its stored `dataset` column names, otherwise to whatever the kernel resolves the path to. Each iSCSI extent is listed once.
- **Authorization**: each consumer and task section, and the snapshot count, is null when the caller may not call the method it comes from, and that source is not queried.
- **Cost**: one dataset walk, one snapshot count and one query per source, with path resolution only for paths that have neither an exact mountpoint nor a usable column.
DeltaFile
+247-0src/middlewared/middlewared/plugins/webui/dataset_details.py
+218-0src/middlewared/middlewared/plugins/webui/dataset_consumers.py
+181-0src/middlewared/middlewared/api/v28_0_0/webui_dataset.py
+77-0src/middlewared/middlewared/pytest/unit/plugins/test_webui_dataset_consumers.py
+40-0src/middlewared/middlewared/plugins/webui/dataset.py
+26-0tests/api2/test_account_privilege_role.py
+789-02 files not shown
+793-08 files

FreeNAS/freenas a1167bb — src/middlewared/middlewared/plugins/pool_ dataset_details.py, src/middlewared/middlewared/plugins/webui dataset_details.py dataset_consumers.py

Use plain loops and tuple constants in dataset details

## Problem
The task matchers in `webui.dataset.details` counted through nested generator expressions wrapped in `Counter` and `dict`, which were hard to read, and the property lists for both details endpoints were mutable module-level lists.

## Solution
The matchers count with plain loops, and both property lists are tuples passed to the query as lists, in the same order as before.
DeltaFile
+23-13src/middlewared/middlewared/plugins/webui/dataset_consumers.py
+3-3src/middlewared/middlewared/plugins/webui/dataset_details.py
+3-3src/middlewared/middlewared/plugins/pool_/dataset_details.py
+29-193 files

FreeNAS/freenas 9452aeb — src/middlewared/middlewared/plugins/pool_ dataset_details.py, src/middlewared/middlewared/plugins/webui dataset_details.py

Inline the legacy details property list and drop the remaining comprehensions

## Problem
`pool.dataset.details` kept its property list as a module-level constant that only one call used, and `webui.dataset.details` still built its gating, sections and entry fields through conditional comprehensions.

## Solution
The property list is back inline in the query call, in the same order, so the legacy output is unchanged. The gating, section and entry field building in `webui.dataset.details` use plain loops.
DeltaFile
+20-10src/middlewared/middlewared/plugins/webui/dataset_details.py
+7-8src/middlewared/middlewared/plugins/pool_/dataset_details.py
+27-182 files

FreeNAS/freenas b1fe37d — src/middlewared/middlewared/plugins/webui dataset_details.py dataset_consumers.py, src/middlewared/middlewared/plugins/zfs snapshot_count_impl.py

Fix snapshot count shortcut and consumer path ownership

## Problem
The snapshot count shortcut read the link count of `<mountpoint>/.zfs/snapshot` without checking which dataset is mounted there, so an unmounted dataset whose mountpoint is another dataset's root, or the lower of two datasets stacked on one path, got the other dataset's count. In `webui.dataset.details`, paths that needed the kernel were resolved with an O_RDONLY open, so a FIFO at a share, app, container or VM path hung the call and a device node had its driver opened. The stored share dataset also won over a dataset mounted on top of the path later, and an unmounted dataset took sole credit for shares that really sit in its parent.

## Solution
- **Snapshot count**: the shortcut asks statmount for the source of the mount holding that directory and uses the link count only when it names the dataset being counted, otherwise it iterates the snapshots as before. That is one extra cheap syscall per uncached mounted dataset.
- **Consumer paths**: paths are resolved with statmount on an O_PATH lookup, the same way `pool.dataset.details` does, so the file itself is never opened. Only mounted or locked datasets claim their mountpoint, and the stored dataset is trusted only while it is still the nearest such claim above the path or is an unmounted dataset at exactly that path, so most consumers still need no syscall at all.
DeltaFile
+28-11src/middlewared/middlewared/plugins/webui/dataset_consumers.py
+33-6src/middlewared/middlewared/pytest/unit/plugins/test_webui_dataset_consumers.py
+12-9src/middlewared/middlewared/plugins/zfs/snapshot_count_impl.py
+15-0tests/api2/test_zfs_resource_snapshot_count.py
+6-2src/middlewared/middlewared/plugins/webui/dataset_details.py
+94-285 files

LLVM/project 7390d49 — llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp, llvm/test/CodeGen/AMDGPU inline-asm-tied-physreg-class.ll

SelectionDAG: Use the physical register class for tied inline asm inputs (#238705)

When an inline asm input is tied to a physical register output, the
input's virtual register was created in the class for its value type.
That class is not required to contain the physical register, in which
case the input is materialized in the wrong bank and then copied into
the output register. On AMDGPU, an immediate tied to an AGPR output was
materialized in an SGPR, then copied to the AGPR, through a VGPR on
gfx908.

Use the minimal class of the physical register when the class for the
value type does not contain it. Untyped operands already did this
unconditionally; this extends it to typed operands. Keep the value
type's class if the physical register's minimal class is not
allocatable.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+8-12llvm/test/CodeGen/AMDGPU/inline-asm-tied-physreg-class.ll
+15-4llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+23-162 files

LLVM/project b6c9317 — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls arm.ll bsd.ll

RuntimeLibcalls: Add missing attributes to memory and allocator libcalls

Add the attributes inferLibFuncAttributes would give these functions.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+69-26llvm/include/llvm/IR/RuntimeLibcalls.td
+49-35llvm/test/Transforms/Util/DeclareRuntimeLibcalls/ppc.ll
+46-36llvm/test/Transforms/Util/DeclareRuntimeLibcalls/aarch64.ll
+36-28llvm/test/Transforms/Util/DeclareRuntimeLibcalls/windows.ll
+27-21llvm/test/Transforms/Util/DeclareRuntimeLibcalls/bsd.ll
+18-14llvm/test/Transforms/Util/DeclareRuntimeLibcalls/arm.ll
+245-16014 files not shown
+406-27320 files

LLVM/project 20de8cc — clang/test/Sema sifive-xsfmm-func-attr.c

Require risc-v target in test/Sema/sifive-xsfmm-func-attr.c (#240729)

Otherwise riscv_vector.h may not be found.

Follow-up to #206260
DeltaFile
+1-0clang/test/Sema/sifive-xsfmm-func-attr.c
+1-01 files

LLVM/project ce5e478 — llvm/test/CodeGen/X86 vector-deinterleave7-i16.ll vector-deinterleave8-i64.ll

Rebase

Created using spr 1.3.6-beta.1
DeltaFile
+29,293-0llvm/test/CodeGen/X86/vector-interleave7-i16.ll
+29,228-0llvm/test/CodeGen/X86/vector-interleaved7-i8.ll
+27,225-0llvm/test/CodeGen/X86/vector-interleave7-i32.ll
+26,140-0llvm/test/CodeGen/X86/vector-deinterleave7-i8.ll
+25,861-0llvm/test/CodeGen/X86/vector-deinterleave8-i64.ll
+25,769-0llvm/test/CodeGen/X86/vector-deinterleave7-i16.ll
+163,516-03,191 files not shown
+877,616-42,2263,197 files

LLVM/project 92559d2 — llvm/lib/Target/RISCV RISCVTargetMachine.h RISCVTargetMachine.cpp

[RISCV] Cache repeated subtarget lookups

Cache repeated RISC-V subtarget queries by the complete function
attribute set, following the AArch64 implementation. Avoid temporary
copies of CPU and feature strings when constructing a new lookup key.

Three interleaved CTMark pairs reduce median compile time by 0.247%
and geomean by 0.261%.

Assisted-by: TRAE CLI (GPT-6)

Reviewers: nikic, topperc, lukel97, mshockwave

Reviewed By: lukel97, topperc

Pull Request: https://github.com/llvm/llvm-project/pull/240339
DeltaFile
+11-7llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
+3-0llvm/lib/Target/RISCV/RISCVTargetMachine.h
+14-72 files

LLVM/project 60df9f0 — llvm/lib/Target/RISCV/MCTargetDesc RISCVMatInt.cpp

[RISCV] Minor code improvements to extractRotateInfo. NFC (#240727)

Remove a subtraction of 1 by increasing the RunEnd values. This makes
RunEnd more like an end iterator where it is one past the last position.

Increase the constant for the non-negative case to (64+12). This
guarantees that RunEnd - Run is always a positive value. The final
Rotate value is taken modulo 64 so this doesn't affect the result. It
does remove an AND with a negative value which felt off to me. Replace
the AND with 63 with modulo 64 and let the compiler make the AND.

Fix an off by one mistake in the comment.
DeltaFile
+5-5llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
+5-51 files

LLVM/project 4423d41 — lld/ELF Writer.cpp, lld/test/ELF merge-piece-oob.s

[ELF] includeInSymtab: Fix crash for SHF_MERGE section symbol with out-of-range addend (#240732)

includeInSymtab passes a section symbol's st_value, which is not
range-checked, to getSectionPiece. A value at or past the end of the
SHF_MERGE section causes an assertion failure or crash.

A local section symbol is not copied to .symtab, and a non-local one
gets the "offset is outside the section" error from getSymVA.

Fix #235203
DeltaFile
+9-0lld/test/ELF/merge-piece-oob.s
+1-1lld/ELF/Writer.cpp
+10-12 files

LLVM/project d04a473 — clang/lib/Basic/Targets MSP430.h AVR.h

[AVR][MSP430] Explicitly specify the underlying type of wchar_t (NFC) (#240653)

Make the choice deliberate instead of relying on the default.
The changes are covered by existing preprocessor tests.
DeltaFile
+1-0clang/lib/Basic/Targets/MSP430.h
+1-0clang/lib/Basic/Targets/AVR.h
+2-02 files

LLVM/project ac5e950 — llvm/include/llvm/IR RuntimeLibcalls.td, llvm/test/Transforms/Util/DeclareRuntimeLibcalls divmod.ll

RuntimeLibcalls: Annotate divrem libcall remainder out arguments

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+16-5llvm/include/llvm/IR/RuntimeLibcalls.td
+3-2llvm/test/Transforms/Util/DeclareRuntimeLibcalls/divmod.ll
+19-72 files

OpenBSD/ports 0CDngVv — www/iridium distinfo

   distfile has been rerolled, update distinfo
VersionDeltaFile
1.137+2-2www/iridium/distinfo
+2-21 files

LLVM/project 50a76c2 — llvm/include/llvm/ProfileData InstrProf.h SampleProf.h, llvm/lib/ProfileData InstrProf.cpp

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+68-1llvm/unittests/ProfileData/InstrProfTest.cpp
+28-15llvm/lib/ProfileData/InstrProf.cpp
+11-0llvm/unittests/ProfileData/SampleProfTest.cpp
+5-4llvm/include/llvm/ProfileData/SampleProf.h
+2-2llvm/include/llvm/ProfileData/InstrProf.h
+114-225 files

LLVM/project 1a42ad1 — llvm/test/ThinLTO/X86 cfi-split-lto-sample-profile.ll, llvm/test/Transforms/ThinLTOBitcodeWriter split-internal2.ll split-internal-alias.ll

[spr] update

Created using spr 2.0.0-beta.2
DeltaFile
+111-0llvm/test/ThinLTO/X86/cfi-split-lto-sample-profile.ll
+12-5llvm/tools/llvm-lto2/llvm-lto2.cpp
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal2.ll
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-alias.ll
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/cfi_dso_local_equivalent.ll
+6-6llvm/test/Transforms/ThinLTOBitcodeWriter/cfi-relative-vtable.ll
+147-299 files not shown
+180-5515 files

LLVM/project e45ee73 — llvm/unittests/ProfileData InstrProfTest.cpp SampleProfTest.cpp

[NFC][ProfileData] Add canonical name tests for CFI and LTO suffixes (#240697)

Pre-commit unit test coverage for `FunctionSamples::getCanonicalFnName`
with combined `.cfi`, `.llvm.`, `.part.`, and `.__uniq.` suffixes and
for `InstrProfSymtab::getCanonicalName`.

PR Stack:
* https://github.com/llvm/llvm-project/pull/240696
* ➤ https://github.com/llvm/llvm-project/pull/240697
* https://github.com/llvm/llvm-project/pull/240698
* https://github.com/llvm/llvm-project/pull/240699

Assisted-by: Gemini
DeltaFile
+13-1llvm/unittests/ProfileData/SampleProfTest.cpp
+11-0llvm/unittests/ProfileData/InstrProfTest.cpp
+24-12 files

FreeBSD/poudriere 250a890 — test common.sh common.bulk.sh

tests: Support concurrent runs in multiple out-of-tree build dirs
DeltaFile
+2-2test/common.bulk.sh
+1-1test/common.sh
+3-32 files

LLVM/project 0daa8c4 — llvm/test/CodeGen/X86 vector-deinterleave7-i16.ll vector-deinterleave8-i64.ll

Merge branch 'main' into users/arsenm/selectiondag/inline-asm-tied-physreg-class
DeltaFile
+29,293-0llvm/test/CodeGen/X86/vector-interleave7-i16.ll
+29,228-0llvm/test/CodeGen/X86/vector-interleaved7-i8.ll
+27,225-0llvm/test/CodeGen/X86/vector-interleave7-i32.ll
+26,140-0llvm/test/CodeGen/X86/vector-deinterleave7-i8.ll
+25,861-0llvm/test/CodeGen/X86/vector-deinterleave8-i64.ll
+25,769-0llvm/test/CodeGen/X86/vector-deinterleave7-i16.ll
+163,516-07,223 files not shown
+1,015,726-113,1547,229 files

LLVM/project 6fb1a75 — llvm/test/CodeGen/AMDGPU inline-asm-tied-physreg-class.ll

AMDGPU: Add baseline test for inline asm inputs tied to AGPR outputs (#238704)

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+193-0llvm/test/CodeGen/AMDGPU/inline-asm-tied-physreg-class.ll
+193-01 files

LLVM/project 24f2447 — llvm/include/llvm/IR RuntimeLibcallsImpl.td RuntimeLibcalls.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Move divrem attributes to TableGen

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+0-21llvm/lib/IR/RuntimeLibcalls.cpp
+2-0llvm/include/llvm/IR/RuntimeLibcalls.td
+1-0llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+3-213 files

OpenBSD/src xMGY1KX — include kvm.h, usr.sbin/kvm_mkdb nlist.c

   No longer prefix an underscore to symbol names put in kvm_mkdb's database.
VersionDeltaFile
1.54+2-3usr.sbin/kvm_mkdb/nlist.c
1.19+2-2include/kvm.h
+4-52 files

LLVM/project 90ecaf9 — llvm/include/llvm/Target/GlobalISel RegisterBank.td, llvm/test/TableGen RegisterBankEmitter-Check.td

[TableGen] Generate instruction mappings for `RegisterBankInfo`
DeltaFile
+577-3llvm/utils/TableGen/RegisterBankEmitter.cpp
+59-0llvm/include/llvm/Target/GlobalISel/RegisterBank.td
+17-0llvm/test/TableGen/RegisterBankEmitter-Check.td
+653-33 files

OpenBSD/src E5jbOAu — sys/kern tty_pty.c

   Do not allow TIOCSCTTY, TIOCNOTTY, or TIOCSPGRP on the pty master.  Return
   ENOTTY for all 3 of these.  They could create incoherent session states,
   leading to dangerous UAF reported by openai (unfortunately their proposed
   patch was batshit crazy and made the situation worse, due to not identifying
   this as root cause, and writing code to support the condition).  with claudio
   various versions ok kettenis kirill and others
VersionDeltaFile
1.117+6-1sys/kern/tty_pty.c
+6-11 files

OpenBSD/ports 69aJrFs — x11/qt6/qtwebengine/patches patch-src_3rdparty_chromium_ui_gfx_font_util_cc patch-src_3rdparty_chromium_media_capture_video_linux_v4l2_capture_delegate_h

   Update qt6-qtwebengine to 6.11.3
VersionDeltaFile
1.1+38-0x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_third_party_lzma_sdk_src_C_CpuArch_c
1.9+14-15x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_build_config_compiler_BUILD_gn
1.10+8-8x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_third_party_blink_renderer_platform_runtime_enabled_features_json5
1.8+6-6x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_net_BUILD_gn
1.5+4-4x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_media_capture_video_linux_v4l2_capture_delegate_h
1.3+3-3x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_ui_gfx_font_util_cc
+73-3621 files not shown
+108-7227 files

OpenBSD/ports oOu0YEi — x11/opensddm distinfo Makefile, x11/opensddm/pkg PLIST opensddm.rc

   Update opensddm to 0.21.2

   - Add bsd_auth support to benefit from LOGIN_SETWSCONSGROUP.
VersionDeltaFile
1.2+0-7x11/opensddm/pkg/opensddm.rc
1.2+3-3x11/opensddm/Makefile
1.2+2-2x11/opensddm/distinfo
1.2+0-3x11/opensddm/pkg/PLIST
+5-154 files

LLVM/project cf84b15 — llvm/lib/MC MCNullStreamer.cpp, llvm/test/CodeGen/PowerPC aix-null-streamer.ll

MC: Handle XCOFF directives in the null streamer (#239821)

MCNullStreamer only overrode emitXCOFFSymbolLinkageWithVisibility, so
llc -filetype=null on AIX hit the llvm_unreachable in the MCStreamer
base implementations of .lcomm, .ref, .except and .info emission.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+21-0llvm/test/CodeGen/PowerPC/aix-null-streamer.ll
+9-0llvm/lib/MC/MCNullStreamer.cpp
+30-02 files