LLVM/project f22a178llvm/lib/Analysis IVDescriptors.cpp, llvm/lib/Transforms/Vectorize VPlanConstruction.cpp

Reland "[LV] Support conditional scalar assignments of masked operations" (#180708)

This patch extends the support added in #158088 to loops where the
assignment is non-speculatable (e.g. a conditional load or divide).

For example, the following loop can now be vectorized:

```
int simple_csa_int_load(
  int* a, int* b, int default_val, int N, int threshold)
{
  int result = default_val;
  for (int i = 0; i < N; ++i)
    if (a[i] > threshold)
      result = b[i];
  return result;
}
```


    [9 lines not shown]
DeltaFile
+1,144-0llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
+100-0llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-vplan.ll
+79-0llvm/unittests/Analysis/IVDescriptorsTest.cpp
+49-4llvm/lib/Analysis/IVDescriptors.cpp
+25-2llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+0-9llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
+1,397-151 files not shown
+1,398-167 files

LLVM/project b4032dbmlir/test/Dialect/Vector transform-vector.mlir vector-transfer-flatten.mlir, mlir/test/Dialect/Vector/td flatten.mlir

[mlir][vector] Reuse vector TD op in vector.xfer flatten tests (#180606)

This change adds a `RUN` line in vector-transfer-flatten.mlir that will
use `vector.flatten_vector_transfer_ops` that was introduced in #178134.
It also removes a test added in the original PR whose coverage is
already provided by pre-existing tests.
DeltaFile
+0-32mlir/test/Dialect/Vector/transform-vector.mlir
+9-0mlir/test/Dialect/Vector/td/flatten.mlir
+3-0mlir/test/Dialect/Vector/vector-transfer-flatten.mlir
+12-323 files

FreeBSD/ports b285ac6databases/sequeler pkg-plist Makefile

databases/sequeler: Update 0.8.2 => 0.9.0, take maintainership

Release Notes:
https://github.com/ellie-commons/sequeler/releases/tag/v0.9.0

PR:     293067
DeltaFile
+38-27databases/sequeler/pkg-plist
+4-5databases/sequeler/Makefile
+3-3databases/sequeler/distinfo
+45-353 files

LLVM/project 9de8463mlir/include/mlir/IR BuiltinTypes.td QuantStorageTypeInterface.td, mlir/lib/Dialect/Quant/IR TypeParser.cpp QuantTypes.cpp

Extending UniformQuantizedType with interface-based support for new storage types in Quant dialect (#152966)

Currently, UniformQuantizedType only supports built-in MLIR storage
types such as Integer. LLM quantization research introducing feature of
using NF4 as a low precision datatype (see
https://arxiv.org/pdf/2305.14314). There is a growing need to make the
system extensible and maintainable as more types are added. Ensuring
that MLIR can natively support NF4 through a clean, extensible interface
is essential for both current and future quantization workflows.

**Current Approach and Its Limitations:**

- The present implementation relies on dynamic checks (e.g., type
switches or if-else chains) to determine the storage type and retrieve
type-specific information for legality checks.

- This approach works for a small, fixed set of types, but as the number
of supported types grows, the code becomes harder to read, maintain, and
extend.

    [23 lines not shown]
DeltaFile
+138-10mlir/include/mlir/IR/BuiltinTypes.td
+40-31mlir/lib/Dialect/Quant/IR/TypeParser.cpp
+70-0mlir/include/mlir/IR/QuantStorageTypeInterface.td
+33-34mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
+55-0mlir/test/Dialect/Quant/parse-uniform.mlir
+29-0mlir/test/Dialect/Quant/parse-uniform-invalid.mlir
+365-756 files not shown
+417-7612 files

LLVM/project 3230de5clang/lib/AST/ByteCode Pointer.cpp, clang/test/AST/ByteCode invalid.cpp

[clang][bytecode] Fix assertion failure when returning function type (#180681)

... as an rvalue. Which can't work, so reject.
DeltaFile
+5-0clang/lib/AST/ByteCode/Pointer.cpp
+3-0clang/test/AST/ByteCode/invalid.cpp
+8-02 files

LLVM/project 302ff8fllvm/lib/Transforms/InstCombine InstCombineMulDivRem.cpp InstCombineSimplifyDemanded.cpp, llvm/test/Transforms/InstCombine binop-itofp.ll pow-to-ldexp.ll

InstCombine: Use SimplifyDemandedFPClass on fmul (#177490)

Start trying to use SimplifyDemandedFPClass on instructions, starting
with fmul. This subsumes the old transform on multiply of 0. The
main change is the introduction of nnan/ninf. I do not think anywhere
was systematically trying to introduce fast math flags before, though
a few odd transforms would set them.

Previously we only called SimplifyDemandedFPClass on function returns
with nofpclass annotations. Start following the pattern of
SimplifyDemandedBits, where this will be called from relevant root
instructions.

I was wondering if this should go into InstCombineAggressive, but that
apparently does not make use of InstCombineInternal's worklist.
DeltaFile
+12-12llvm/test/Transforms/InstCombine/binop-itofp.ll
+10-10llvm/test/Transforms/InstCombine/pow-to-ldexp.ll
+3-14llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
+9-7llvm/test/Transforms/InstCombine/fsqrtdiv-transform.ll
+13-1llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
+6-6llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
+53-5016 files not shown
+88-8722 files

OPNSense/core 57f1482Mk style.mk

make: fix nightly build issues et al
DeltaFile
+17-9Mk/style.mk
+17-91 files

FreeNAS/freenas 5db7f4csrc/middlewared pyproject.toml, src/middlewared/middlewared/utils/nss pwd.py grp.py

NAS-139694 / 26.0.0-BETA.1 / nss utils type hints (#18164)

DeltaFile
+77-32src/middlewared/middlewared/utils/nss/pwd.py
+72-28src/middlewared/middlewared/utils/nss/grp.py
+1-1src/middlewared/pyproject.toml
+150-613 files

FreeNAS/freenas ddaf4desrc/middlewared/middlewared/utils/filesystem directory.py access.py, src/middlewared/middlewared/utils/libvirt filesystem.py

filesystem utils type hints
DeltaFile
+87-29src/middlewared/middlewared/utils/filesystem/directory.py
+20-14src/middlewared/middlewared/utils/filesystem/access.py
+17-14src/middlewared/middlewared/utils/filesystem/copy.py
+16-5src/middlewared/middlewared/utils/filesystem/stat_x.py
+10-8src/middlewared/middlewared/utils/filesystem/attrs.py
+6-4src/middlewared/middlewared/utils/libvirt/filesystem.py
+156-742 files not shown
+162-788 files

OPNSense/plugins 7c710d4net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy haproxy.conf

Merge pull request #5207 from fraenki/haproxy_500b

net/haproxy: fix syntax of set-var-fmt
DeltaFile
+2-0net/haproxy/src/opnsense/service/templates/OPNsense/HAProxy/haproxy.conf
+2-01 files

FreeBSD/src c2f799dsys/net ifdi_if.m iflib.c

iflib: Add support for SIOCGIFDOWNREASON ioctl

This change adds native support for the SIOCGIFDOWNREASON ioctl in iflib.

When ifconfig issues SIOCGIFDOWNREASON, the request is now routed through a
new driver callback (IFDI_GET_DOWNREASON). iflib allocates the ifdownreason
structure, calls the driver to fill the down-reason message, and then
returns the data back to ifconfig for display.

Without this change, iflib-based drivers cannot implement link-down reason
reporting even if the hardware provides the information.

No functional change for existing drivers unless they implement the new
IFDI_GET_DOWNREASON method. Existing drivers continue to behave as before.

Reviewed by: gallatin, erj, kgalazka, ssaxena, #iflib
Differential Revision: https://reviews.freebsd.org/D54045
MFC After: 1 week
DeltaFile
+11-0sys/net/ifdi_if.m
+5-0sys/net/iflib.c
+16-02 files

FreeBSD/src feb0a7esys/dev/pci pci_iov.c

pci_iov: Reuse downstream bridge bus window if it already covers VF bus

If the parent bridge's [secondary, subordinate] window already covers
the VF bus (e.g., programmed by BIOS or a prior PF), skip allocating
PCI_RES_BUS. This avoids a duplicate rman allocation in the multi-PF
case while still allocating when growth is actually needed.

Reviewed by: ssaxena
Differential Revision: https://reviews.freebsd.org/D52163
MFC After: 1 week
DeltaFile
+20-9sys/dev/pci/pci_iov.c
+20-91 files

FreeBSD/ports 8b2cfc7x11-wm/hyprland Makefile, x11/hyprlauncher Makefile

*/*: Bump port revision after hyprwire shlib version bump (71315a986ad4)
DeltaFile
+1-0x11-wm/hyprland/Makefile
+1-0x11/hyprpaper/Makefile
+1-0x11/hyprlauncher/Makefile
+3-03 files

FreeBSD/ports 71315a9devel/hyprwire distinfo Makefile, devel/hyprwire/files patch-src_core_server_ServerClient.cpp patch-src_core_server_ServerSocket.cpp

devel/hyprwire: Update to 0.3.0

Changelog: https://github.com/hyprwm/hyprwire/releases/tag/v0.3.0

Reported by:    GitHub (watch releases)
DeltaFile
+41-7devel/hyprwire/files/patch-src_core_server_ServerClient.cpp
+0-10devel/hyprwire/files/patch-src_core_server_ServerSocket.cpp
+10-0devel/hyprwire/files/patch-tests_Fork.cpp
+0-10devel/hyprwire/files/patch-src_core_client_ClientSocket.cpp
+3-3devel/hyprwire/distinfo
+2-2devel/hyprwire/Makefile
+56-326 files

LLVM/project b00cba5flang/include/flang/Optimizer/Builder HLFIRTools.h, flang/lib/Optimizer/Builder HLFIRTools.cpp

[flang] do not set nuw flag in CSHIFT bound arithmetic (#180520)

Fix https://github.com/llvm/llvm-project/issues/180374

I initially suspected an issue with some lower bound adjustment missing,
and indeed found an unrelated issue because gen1DSection was always
called with all-ones lower bounds because the genLowerbounds was called
on the result fir.shape.

But this is actually not relevant for the issue where this code path is
not exercised. The issue was `nuw` (no unsigned-wrap) was being set on
arithmetic inside the kernel generated for CSHIFT, but because this
arithmetic is dealing with user defined bounds, it may actually have to
deal with negative values (even if the offsets from the CSHIFT itself
are not negative).

This caused LLVM optimization to generate completely invalid code when
the lower bounds of CSHIFT input are zero or less.
DeltaFile
+47-44flang/test/HLFIR/simplify-hlfir-intrinsics-cshift.fir
+20-7flang/lib/Optimizer/Builder/HLFIRTools.cpp
+7-12flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
+0-1flang/include/flang/Optimizer/Builder/HLFIRTools.h
+74-644 files

LLVM/project 570fffellvm/lib/Analysis MemorySSA.cpp, llvm/test/Analysis/MemorySSA function-clobber.ll

[MemorySSA] Relax clobbering checks for calls to consider writes only (#179721)

Now that getModRefInfo for calls handles read and write effects by
examining both calls, the clobbering query no longer needs to treat
reads as clobbers. Update the check to consider writes only, aligning
call handling with other instructions
DeltaFile
+13-0llvm/test/Analysis/MemorySSA/function-clobber.ll
+1-1llvm/lib/Analysis/MemorySSA.cpp
+14-12 files

LLVM/project 92bcff7cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb expected.test

[cross-project-tests][lldb] Relax llvm::Expected check

The `CHECK` for `(int)` was too strict. On macOS the type prints as:
```
08:46:24            29: (lldb) v -T ExpectedRef
08:46:24            30: (llvm::Expected<int &>) ExpectedRef = {
08:46:24  next:14'0                                            X error: no match found
08:46:24            31:  (std::__1::reference_wrapper<int>::type) value = 100
08:46:24  next:14'0     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
08:46:24  next:14'1                                         ?                  possible intended match
08:46:24            32: }
08:46:24  next:14'0     ~~
```
DeltaFile
+1-1cross-project-tests/debuginfo-tests/llvm-prettyprinters/lldb/expected.test
+1-11 files

LLVM/project 0a3b376lldb/test/API/macosx/posix_spawn TestLaunchProcessPosixSpawn.py

[lldb][test] Skip TestLaunchProcessPosixSpawn.py

Fails on public green dragon arm64 bot with:
```
08:53:39  "/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/./bin/dsymutil"  -o "fat.out.dSYM" "fat.out"
08:53:39  warning: no debug symbols in executable (-arch x86_64)
08:53:39  warning: no debug symbols in executable (-arch x86_64h)
08:53:39  warning: no debug symbols in executable (-arch arm64)
08:53:39
08:53:39
08:53:39  runCmd: file -arch x86_64 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lldb-test-build.noindex/macosx/posix_spawn/TestLaunchProcessPosixSpawn.test_apple_silicon/fat.out
08:53:39
08:53:39  warning: (x86_64) /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lldb-test-build.noindex/macosx/posix_spawn/TestLaunchProcessPosixSpawn.test_apple_silicon/fat.out empty dSYM file detected, dSYM was created with an executable with no debug info.
08:53:39  output: Current executable set to '/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/lldb-test-build.noindex/macosx/posix_spawn/TestLaunchProcessPosixSpawn.test_apple_silicon/fat.out' (x86_64).
08:53:39
08:53:39
08:53:39  <bound method SBProcess.Kill of SBProcess: pid = 73406, state = exited, threads = 0, executable = fat.out>: success
08:53:39
08:53:39  FAIL: LLDB (/Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/lldb-build/bin/clang-arm64) :: test_apple_silicon (TestLaunchProcessPosixSpawn.TestLaunchProcessPosixSpawn)

    [59 lines not shown]
DeltaFile
+1-0lldb/test/API/macosx/posix_spawn/TestLaunchProcessPosixSpawn.py
+1-01 files

LLVM/project 601ce4dllvm/test/Transforms/PGOProfile chr.ll, llvm/test/Transforms/PhaseOrdering/AArch64 predicated-reduction.ll

Fix tests
DeltaFile
+6-6llvm/test/Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
+2-2llvm/test/Transforms/PGOProfile/chr.ll
+8-82 files

LLVM/project 1ec8f38flang/lib/Optimizer/Dialect FIRType.cpp, flang/test/Lower polymorphic.f90 derived-type-sequence-alias-assign.f90

[flang] Use alias analysis in lowering record assignments (#180628)

Without alias analysis Flang assumes no aliasing in lowering record
assignments which can result in miscompilation of programs using
`SEQUENCE` types and `EQUIVALENCE`.

Use alias analysis to guard the fast path in `genRecordAssignment`;
otherwise fall back to element-wise expansion.
Update FIR FileCheck expectations
Add `FIRAnalysis` to "flang/unittests/Optimizer/CMakeLists.txt" to fix
the Windows x64 build failure (linker error).
Add `SEQUENCE` handling and update tests accordingly.

Fixes #175246 (and includes the fix to
"flang/lib/Optimizer/Builder/CMakeLists.txt" in PR #176483).

Co-authored-by: Matt P. Dziubinski <matt-p.dziubinski at hpe.com>
DeltaFile
+202-202flang/test/Lower/polymorphic.f90
+56-0flang/test/Lower/derived-type-sequence-alias-assign.f90
+27-27flang/test/Lower/default-initialization.f90
+21-21flang/test/Lower/HLFIR/proc-pointer-comp-pass.f90
+18-1flang/lib/Optimizer/Dialect/FIRType.cpp
+9-9flang/test/Lower/HLFIR/cray-pointers.f90
+333-2605 files not shown
+354-26111 files

LLVM/project 59a8bd0llvm/include/llvm/Transforms/Utils SimplifyLibCalls.h, llvm/lib/Transforms/Utils SimplifyLibCalls.cpp

[SimplifyLibCalls] Directly canonicalize fminimum_num to intrinsic (#180555)

Same as https://github.com/llvm/llvm-project/pull/177988, but for
fminimum_num/fmaximum_num. Directly canonicalize these to the
corresponding intrinsics, and let the shrinking happen directly on the
intrinsics.
DeltaFile
+10-25llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp
+0-1llvm/include/llvm/Transforms/Utils/SimplifyLibCalls.h
+10-262 files

LLVM/project e145b0ellvm/bindings/ocaml/llvm llvm_ocaml.c, llvm/test/Bindings/OCaml executionengine.ml diagnostic_handler.ml

[OCaml] Remove global_context (#180533)

This has been deprecated in the C API, so remove it from the OCaml
bindings. create_context and dispose_context should be used instead.
DeltaFile
+7-6llvm/test/Bindings/OCaml/executionengine.ml
+4-2llvm/test/Bindings/OCaml/diagnostic_handler.ml
+4-2llvm/test/Bindings/OCaml/bitreader.ml
+3-2llvm/test/Bindings/OCaml/linker.ml
+0-5llvm/bindings/ocaml/llvm/llvm_ocaml.c
+3-2llvm/test/Bindings/OCaml/analysis.ml
+21-1910 files not shown
+42-3616 files

LLVM/project df422d1llvm/lib/Analysis IVDescriptors.cpp, llvm/lib/Transforms/Vectorize VPlanConstruction.cpp

Revert "Revert "[LV] Support conditional scalar assignments of masked operati…"

This reverts commit 703c2762d34d1fec27aa3347c3861e0f620132c3.
DeltaFile
+1,144-0llvm/test/Transforms/LoopVectorize/AArch64/conditional-scalar-assignment.ll
+100-0llvm/test/Transforms/LoopVectorize/conditional-scalar-assignment-vplan.ll
+79-0llvm/unittests/Analysis/IVDescriptorsTest.cpp
+49-4llvm/lib/Analysis/IVDescriptors.cpp
+25-2llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+0-9llvm/test/Transforms/LoopVectorize/X86/vectorization-remarks-missed.ll
+1,397-151 files not shown
+1,398-167 files

NetBSD/pkgsrc WB1dAuHdoc CHANGES-2026

   Updated graphics/openimageio, devel/py-coverage
VersionDeltaFile
1.1028+3-1doc/CHANGES-2026
+3-11 files

NetBSD/pkgsrc JZ0gK88devel/py-coverage distinfo Makefile

   py-coverage: updated to 7.13.4

   7.13.4

   - Fix: the third-party code fix in 7.13.3 required examining the parent
     directories where coverage was run. In the unusual situation that one of the
     parent directories is unreadable, a PermissionError would occur, as
     described in `issue 2129`_. This is now fixed.

   - Fix: in test suites that change sys.path, coverage.py could fail with
     "RuntimeError: Set changed size during iteration" as described and fixed in
     `pull 2130`_. Thanks, Noah Fatsi.

   - We now publish ppc64le wheels, thanks to `Pankhudi Jain <pull 2121_>`_.
VersionDeltaFile
1.73+4-4devel/py-coverage/distinfo
1.87+2-2devel/py-coverage/Makefile
+6-62 files

NetBSD/pkgsrc 6WZPIWugraphics/openimageio distinfo PLIST

   openimageio: updated to 3.1.10.0

   3.1.10.0

   - *perf*: `IBA::resample()` and `oiiotool --resample` improvements to speed up 20x or more
   - *ImageBuf*: IB::localpixels_as_[writable_]byte_image_span
   - ImageBufAlgo*: IBA::make_texture now honors "maketx:threads" hint
   - *heif*: Add IOProxy for input and output
   - *heif*: Can not output AVIF when libheif has no HEVC support
   - *heif*: Error saving multiple images with different bit depths
   - *webp*: Use correct resolution limits for WebpOutput::open
   - *webp*: Missing oiio:UnassociatedAlpha on input
   - *fix*: Several bug fixes related to internal use of image_span
   - *build*: Fix building on OpenBSD
   - *deps*: Libheif 1.21 support
   - *deps*: Bump build ver to 2.5.1
   - *deps*: Use libheif exported config if available
   - *tests*: Add new ref image for jpeg test
   - *tests*: Fully disable tests when their required dependencies are missing

    [5 lines not shown]
VersionDeltaFile
1.41+4-4graphics/openimageio/distinfo
1.18+3-3graphics/openimageio/PLIST
1.127+3-2graphics/openimageio/Makefile
+10-93 files

LLVM/project e17226eoffload/include/Shared Debug.h

[OFFLOAD] Implement excluding filters for debugging (#180538)

Allow a to define a set of Types that are not shown by default when
doing default debug loggin (e.g., LIBOMPTARGET_DEBUG=All).

Users can enable output of those types of messages by explicitly adding
them to LIBOMPTARGET_DEBUG.

Used to implement: #180545

---------

Co-authored-by: Michael Klemm <michael.klemm at amd.com>
DeltaFile
+32-12offload/include/Shared/Debug.h
+32-121 files

LLVM/project b91eb9bllvm/lib/CodeGen/SelectionDAG LegalizeVectorTypes.cpp LegalizeTypes.h, llvm/test/CodeGen/AArch64 vector-extract-last-active.ll

[SDAG] Implement missing legalization for `ISD::VECTOR_FIND_LAST_ACTIVE` (#180290)

This lowers the splitting as:
```
any_active(hi_mask)
  ? (find_last_active(hi_mask) + lo_mask.getVectorElementCount())
  : find_last_active(lo_mask)
```

And trivially lowers `<1 x i1>` scalarization to returning zero. Which
is a natural result of the splitting (and the lack of a sentinel
"none-active" result value).

The lowerings likely can be improved. This patch is for completeness.

Should fix:
https://github.com/llvm/llvm-project/pull/178862#issuecomment-3862310334
Fixes #180212
DeltaFile
+154-0llvm/test/CodeGen/X86/vector-extract-last-active.ll
+149-0llvm/test/CodeGen/WebAssembly/vector-extract-last-active.ll
+30-18llvm/test/CodeGen/AArch64/vector-extract-last-active.ll
+46-0llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
+2-0llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
+381-185 files

OpenBSD/src L0wCyoxusr.bin/tmux server-client.c

   Check for no window when updating clients, GitHub issue 4851.
VersionDeltaFile
1.446+4-3usr.bin/tmux/server-client.c
+4-31 files

OpenBSD/ports vhsrTl8www/shiori distinfo modules.inc, www/shiori/pkg PLIST

   update www/shiori to 1.8.0

   Initial diff by me back in october, PLIST adjustment by Igor Zornik.
   Adding them as maintainer as per their request.
VersionDeltaFile
1.5+644-1,072www/shiori/distinfo
1.5+393-501www/shiori/modules.inc
1.9+3-2www/shiori/Makefile
1.2+1-1www/shiori/pkg/PLIST
+1,041-1,5764 files