LLVM/project 66d4433mlir/include/mlir/Dialect/PDLInterp/IR PDLInterpOps.td, mlir/test/Conversion/PDLToPDLInterp pdl-to-pdl-interp-matcher.mlir

[MLIR][PDLInterp] Enable strict property assembly format (#217293)

Enable the strict properties assembly format mode for the PDLInterp
dialect. Spell the default-valued isNegated attribute directly in the
assembly format so it is no longer parsed from attr-dict in strict mode.

Assisted-by: Codex
DeltaFile
+3-1mlir/include/mlir/Dialect/PDLInterp/IR/PDLInterpOps.td
+1-1mlir/test/Rewrite/pdl-bytecode.mlir
+1-1mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
+5-33 files

LLVM/project faa8bfcflang/test/Fir omp-declare-target-data.fir, flang/test/Lower/OpenMP declare-target-func-and-subr.f90

[MLIR][OpenMP] DeclareTargetInterface and DeclareTargetAttr cleanup, NFCI

The changes introduced by this patch are intended to avoid triggering
multiple by name lookups to the "omp.declare_target" attribute every
time any data from the `DeclareTargetInterface` is queried, remove the
need for keeping multiple default values for the same data, clean up
the assembly format and generally improve the usage of the interface.

List of changes:
- `DeclareTargetInterface` only provides `setDeclareTarget` and
  `getDeclareTarget` methods to handle the "omp.declare_target"
  attribute, maintaining a single canonical way of accessing it.
- `DeclareTargetAttr` provides direct access to the capture clause and
  device type enums, rather than wrapping them into an `Attribute`.
  These are now mandatory as well. Both changes together make accessing
  them more straightforward and simplify the attribute representation.
DeltaFile
+44-44mlir/test/Dialect/OpenMP/mark-declare-target.mlir
+15-60mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
+30-30mlir/test/Dialect/OpenMP/attr.mlir
+23-23flang/test/Lower/OpenMP/declare-target-func-and-subr.f90
+22-22flang/test/Fir/omp-declare-target-data.fir
+25-19mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
+159-19857 files not shown
+411-43263 files

LLVM/project 5ee2778flang/include/flang/Utils OpenMP.h, flang/lib/Lower/OpenMP Utils.cpp OpenMP.cpp

[flang][OpenMP] Reuse canonical default mapper names for nested mappings - fix issue #210402 (#212251)

Summary
Fix issue #210402: [FLANG][OMP] flang compiled application failed with
core dumped at Kernel 'omp target in _QQmain @ 28
(__omp_offloading_3a_5aca0b86__QQmain_l28)' -- Flang OpenMP nested
implicit default-mapper naming so it reuses the same canonical symbol
naming scheme as explicit declare mapper(default: ...) lowering.

Problem
For nested derived types, implicit mapper generation could derive a
mapper symbol from FIR record names that did not match the explicit
mapper naming path. That mismatch could create a second synthesized
mapper, skip intended pointer-component mapping behavior, and lead to
runtime offload faults.

Changes
Add a canonical mapper-name helper:
getCanonicalDefaultDeclareMapperName(fir::RecordType)

    [10 lines not shown]
DeltaFile
+119-0flang/test/Lower/OpenMP/declare-mapper-implicit-default-nested-pdt.f90
+74-2flang/lib/Utils/OpenMP.cpp
+33-0flang/lib/Lower/OpenMP/OpenMP.cpp
+28-0flang/lib/Lower/OpenMP/Utils.cpp
+5-0flang/include/flang/Utils/OpenMP.h
+2-1flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
+261-36 files

LLVM/project 5815368mlir/include/mlir/Dialect/PDL/IR PDLDialect.td PDLOps.td, mlir/test/Conversion/PDLToPDLInterp pdl-to-pdl-interp-matcher.mlir

[MLIR][PDL] Enable strict property assembly format (#217296)

Enable the strict properties assembly format mode for the PDL dialect.
Spell the default-valued isNegated attribute directly in the assembly
format so it is no longer parsed from attr-dict in strict mode.

Assisted-by: Codex
DeltaFile
+2-1mlir/include/mlir/Dialect/PDL/IR/PDLOps.td
+1-1mlir/test/mlir-pdll/CodeGen/MLIR/expr.pdll
+1-1mlir/test/Conversion/PDLToPDLInterp/pdl-to-pdl-interp-matcher.mlir
+1-0mlir/include/mlir/Dialect/PDL/IR/PDLDialect.td
+5-34 files

LLVM/project 3ac2d53mlir/include/mlir/Dialect/OpenMP OpenMPDialect.td, mlir/lib/Dialect/OpenMP/IR OpenMPDialect.cpp

[MLIR][OpenMP] Add verification for DeclareTargetInterface

This patch introduces checks to ensure the "omp.declare_target"
attribute is only attached to `DeclareTargetInterface` operations, it is
always the right type attribute and its properties do not conflict with
the operation they are attached to.
DeltaFile
+42-0mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+28-0mlir/test/Dialect/OpenMP/invalid-interface.mlir
+0-18mlir/test/Dialect/OpenMP/attr.mlir
+1-0mlir/include/mlir/Dialect/OpenMP/OpenMPDialect.td
+71-184 files

LLVM/project ee4bce8llvm/lib/CodeGen ExpandIRInsts.cpp, llvm/test/CodeGen/X86 expand-frem-no-libcall.ll

ExpandIRInsts: Expand frem when the libcall is unavailable

The legalizer actions have a distinct LibCall kind, separate
from Expand. If the target specifies LibCall, but the call is not
available, fall back to expand. The action is a fixed property
of the subtarget, but the library call availability in the future
will be program state that depends on module flags.

The test is underhanded and exploits a defect in llc's -march
flag handling. Since the library call set is computed from the Module's
triple, and the module has no triple, the computed libcall set is
empty for the apparently unknown arch. Any real triple will have
an frem call, so the only observable case is this buggy -march case.
In the future module flags will be able to remove the call from
the usable set.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+28-10llvm/lib/CodeGen/ExpandIRInsts.cpp
+31-0llvm/test/CodeGen/X86/expand-frem-no-libcall.ll
+59-102 files

LLVM/project 5f6a32ellvm/test/CodeGen/Generic llvm-ct-intrinsics.ll 2008-02-04-Ctlz.ll

SPARC: Disable generic codegen tests that depend on libcalls (#217264)

The module doesn't get the triple set without any target argument,
so the assumed set of libcalls is empty
DeltaFile
+1-0llvm/test/CodeGen/Generic/llvm-ct-intrinsics.ll
+1-0llvm/test/CodeGen/Generic/2008-02-04-Ctlz.ll
+2-02 files

LLVM/project 1c51891llvm/lib/Target/SystemZ SystemZISelLowering.cpp, llvm/test/CodeGen/SystemZ fp-half-vector-abs.ll

[SystemZ] Fix assertion failures during DAG combine (#215027)

Repro:

```llvm
target triple = "s390x-linux-gnu"

define <2 x half> @fabs_v2f16(<2 x half> %arg) "target-cpu"="z16" {
  %bits = bitcast <2 x half> %arg to <2 x i16>
  %is_neg = icmp slt <2 x i16> %bits, zeroinitializer
  %neg = fneg <2 x half> %arg
  %res = select <2 x i1> %is_neg, <2 x half> %neg, <2 x half> %arg
  ret <2 x half> %res
}
```
```console
$ llc fp-half-vector-abs.ll
llc: llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:7343: SDValue llvm::SelectionDAG::getNode(unsigned int, const SDLoc &, EVT, SDValue, const SDNodeFlags): Assertion `N1.getValueType().bitsGT(VT) && "Invalid truncate node, src < dst!"' failed.
```

    [8 lines not shown]
DeltaFile
+124-0llvm/test/CodeGen/SystemZ/fp-half-vector-abs.ll
+9-5llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
+133-52 files

LLVM/project cccedd4mlir/include/mlir/Dialect/NVGPU/IR NVGPUOps.td, mlir/test/Conversion/NVGPUToNVVM nvgpu-to-nvvm.mlir

[MLIR][NVGPU] Enable strict property assembly format (#217272)

Enable strict property assembly format mode for the NVGPU dialect. Spell
ldmatrix, MMA, async copy, async wait, and warpgroup MMA properties
directly in the affected declarative assembly formats.

Refresh NVGPU dialect, conversion, integration, and Python tests so
those properties use direct syntax while ordinary attributes remain in
attr-dict.

Assisted-by: Codex
DeltaFile
+31-31mlir/test/Conversion/VectorToGPU/vector-to-mma-ops-mma-sync.mlir
+30-30mlir/test/Dialect/NVGPU/invalid.mlir
+34-18mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
+23-24mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
+12-15mlir/test/Dialect/NVGPU/roundtrip.mlir
+13-13mlir/test/Dialect/NVGPU/optimize-shared-memory.mlir
+143-13122 files not shown
+215-20528 files

OpenBSD/src HlFNYuLusr.bin/tmux tmux.h cmd-split-window.c

   Add a -K flag to new-pane to make a modal pane capture all keys like
   popups used to.
VersionDeltaFile
1.504+44-12usr.bin/tmux/server-client.c
1.1157+6-3usr.bin/tmux/tmux.1
1.149+5-3usr.bin/tmux/cmd-split-window.c
1.1428+2-1usr.bin/tmux/tmux.h
+57-194 files

LLVM/project 247df97mlir/include/mlir/Dialect/Arith/IR ArithBase.td, mlir/test/Conversion/ArithToLLVM arith-to-llvm.mlir

[MLIR][Arith] Enable strict property assembly format (NFC) (#217267)

Enable the strict properties assembly format mode for the Arith dialect.
Update tests that still used attr-dict spelling for fastmath attributes
to use the existing declarative fastmath assembly form.

Assisted-by: Codex
DeltaFile
+2-2mlir/test/Examples/transform/ChH/full.mlir
+1-2mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
+1-0mlir/include/mlir/Dialect/Arith/IR/ArithBase.td
+4-43 files

LLVM/project 216248allvm/lib/Transforms/Vectorize LoopVectorizationLegality.cpp, llvm/test/Transforms/LoopVectorize compress-idioms-negative-tests.ll

Add simple early exit test
DeltaFile
+42-5llvm/test/Transforms/LoopVectorize/compress-idioms-negative-tests.ll
+1-2llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
+43-72 files

FreeBSD/ports 58f4429net/zsync distinfo Makefile

net/zsync: Update 0.6.3 => 0.6.6, take maintainership

Change in 0.6.6
- Support and generate zsync 0.8 control files.
  - Support MD5 and SHA-224 block checksums.
  - Support SHA-256 file hash.
- Use OpenSSL for cryptgraphic digests.

Changes in 0.6.5
- Fix an incompatibility between zsync and the RFC7233 rules for
  multipart/byteranges. zsync was written to RFC2046 a long time ago,
  now obsolete; responses from newer HTTP servers following the newer
  standard could cause zsync to fail to parse the response. zsync also
  was not treating failing to find the MIME boundary as a hard error and
  retrying indefinitely; changed to report this as an error.

Changes in 0.6.4
- Support for looking inside gzip files is deprecated; all options
  related to compressed files are correspondingly deprecated except -Z.

    [20 lines not shown]
DeltaFile
+5-5net/zsync/Makefile
+3-3net/zsync/distinfo
+8-82 files

LLVM/project adb8fd6llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/lib/Passes PassBuilder.cpp

Reformat
DeltaFile
+1-1llvm/lib/Passes/PassBuilder.cpp
+1-1llvm/include/llvm/Passes/CodeGenPassBuilder.h
+2-22 files

LLVM/project eb5ce30mlir/include/mlir/Dialect/Async/IR AsyncOps.td, mlir/test/Conversion/AsyncToLLVM convert-to-llvm.mlir

[MLIR][Async] Enable strict property assembly format (#217268)

Enable the strict properties assembly format mode for the Async dialect.
Spell call argument/result attribute arrays and runtime reference counts
directly in assembly formats so they are not parsed from attr-dict in
strict mode.

Assisted-by: Codex
DeltaFile
+21-21mlir/test/Dialect/Async/async-runtime-ref-counting.mlir
+12-12mlir/test/Dialect/Async/async-runtime-ref-counting-opt.mlir
+6-3mlir/include/mlir/Dialect/Async/IR/AsyncOps.td
+4-4mlir/test/Dialect/Async/runtime.mlir
+3-3mlir/test/Dialect/Async/async-runtime-policy-based-ref-counting.mlir
+2-2mlir/test/Conversion/AsyncToLLVM/convert-to-llvm.mlir
+48-451 files not shown
+49-457 files

LLVM/project d2391bcmlir/include/mlir/Dialect/Bufferization/IR BufferizationBase.td, mlir/test/Dialect/Bufferization/Transforms one-shot-bufferize-analysis.mlir

[MLIR][Bufferization] Enable strict property assembly format (#217270)

Enable strict properties-in-assembly-format mode for Bufferization.

Update the remaining test case that spelled the read_only inherent
attribute through attr-dict so it uses the declarative keyword form.

Assisted-by: Codex
DeltaFile
+1-1mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize-analysis.mlir
+1-0mlir/include/mlir/Dialect/Bufferization/IR/BufferizationBase.td
+2-12 files

NetBSD/pkgsrc-wip db16630jcode Makefile cargo-depends.mk

Update devel/jcode to v.0.78.1
DeltaFile
+204-81jcode/distinfo
+67-26jcode/cargo-depends.mk
+1-1jcode/Makefile
+272-1083 files

OPNSense/core 8916ec9src/etc/inc/plugins.inc.d captiveportal.inc

captive portal: annotate this use
DeltaFile
+2-0src/etc/inc/plugins.inc.d/captiveportal.inc
+2-01 files

LLVM/project 5c6b613llvm/test/CodeGen/AMDGPU sched-dynamic-vgpr-blocks.mir, llvm/test/CodeGen/X86 vector-idiv-udiv-256.ll masked-udiv.ll

Merge branch 'main' into users/void/codegen-newpm
DeltaFile
+406-0llvm/test/CodeGen/X86/usubsat-narrow.ll
+106-98llvm/test/CodeGen/X86/scalar_widen_div.ll
+68-130llvm/test/CodeGen/X86/masked-urem.ll
+57-128llvm/test/CodeGen/X86/masked-udiv.ll
+114-0llvm/test/CodeGen/X86/vector-idiv-udiv-256.ll
+72-0llvm/test/CodeGen/AMDGPU/sched-dynamic-vgpr-blocks.mir
+823-35639 files not shown
+1,141-44145 files

OPNSense/core 12d7bf1src/etc/inc/plugins.inc.d captiveportal.inc

captive portal: merge cleanups
DeltaFile
+4-6src/etc/inc/plugins.inc.d/captiveportal.inc
+4-61 files

OPNSense/core 6dfa4a9src/etc/inc/plugins.inc.d captiveportal.inc

captive portal: merge cleanups
DeltaFile
+3-6src/etc/inc/plugins.inc.d/captiveportal.inc
+3-61 files

LLVM/project 2d69745llvm/lib/Analysis ScalarEvolution.cpp

[SCEV] Directly use NUW on mul in getUDivExpr (NFC) (#217235)

Eliminate the roundabout and expensive zero extend expressions, and use
the wrap flags on the expression directly.

Proof: https://alive2.llvm.org/ce/z/-NnV2C
DeltaFile
+2-5llvm/lib/Analysis/ScalarEvolution.cpp
+2-51 files

OPNSense/core 5c128a8src/etc/inc/plugins.inc.d captiveportal.inc

captiveportal: restructure the rules generation
DeltaFile
+126-138src/etc/inc/plugins.inc.d/captiveportal.inc
+126-1381 files

FreeBSD/ports acebc0earchivers/par2cmdline Makefile distinfo

archivers/par2cmdline: Update to 1.3.0
DeltaFile
+3-3archivers/par2cmdline/distinfo
+1-1archivers/par2cmdline/Makefile
+4-42 files

LLVM/project 9584b93llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/X86 usubsat-narrow.ll

[X86] Narrow vXi32/vXi64 usubsat to vpsubusb/vpsubusw when LHS is known to fit in fewer bits (#206592)

When both operands of a wide vector USUBSAT are known (via KnownBits
analysis) to fit within a narrower type, reinterpret the operation as a
narrower saturating subtract instead. x86 has native vpsubusb/vpsubusw
instructions but no vpsubusd/vpsubusq, so wide USUBSAT on i32/i64 lanes
is currently emulated with vpmaxu* + vsub*, requiring two instructions.

- The transformation searches for the smallest power-of-2 narrow width
(starting at 8) where both operands are proven to fit via
computeKnownBits. Both operands are then bitcast to the narrow vector
type and a single vpsubusb/vpsubusw is emitted — no mask, no extra
constant, strictly fewer instructions on every target.

For example, llvm.usub.sat.v8i32 where both LHS and RHS are masked to 8
bits:

```
Before:

    [16 lines not shown]
DeltaFile
+406-0llvm/test/CodeGen/X86/usubsat-narrow.ll
+36-0llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+442-02 files

LLVM/project 28e4457llvm/lib/Transforms/InstCombine InstCombineCalls.cpp, llvm/test/Transforms/InstCombine memset-variable-fill.ll

[InstCombine] Fold length-one memset with variable fillFold length-one memset with variable fill (#217224)

A one-byte memset does not require replicating the fill byte into a
wider integer value. Allow a nonconstant i8 fill value to be stored
directly when the memset length is one.

Keep the existing constant-fill handling for lengths 1, 2, 4 and 8.
Preserve volatility and unordered atomic ordering on the generated
store.

This is the InstCombine prerequisite for #213027.

Assisted-by: GPT-5
DeltaFile
+67-0llvm/test/Transforms/InstCombine/memset-variable-fill.ll
+16-8llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+83-82 files

LLVM/project a1b63e2flang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

[flang][Lower] Reassociate nested assignment sums

Search eligible assignment RHS expressions top-down for scalar REAL
and COMPLEX additive spines. Rewrite a qualifying node once; otherwise
recurse through ordinary operations, conversions, conditional wrappers,
and separate arguments of pure calls. Preserve effect-sensitive
boundaries.

Rename the public rewrite entry point to reflect recursive behavior. Add
coverage for nested conversions, conditions, direct and conditional call
arguments, parentheses, impure calls, short sums, single rewriting, and
contexts outside assignments.

Assisted-by: Codex
DeltaFile
+166-2flang/test/Lower/split-sum-expression-tree-lowering.f90
+148-6flang/lib/Evaluate/tools.cpp
+53-0flang/unittests/Evaluate/expression.cpp
+3-2flang/include/flang/Evaluate/tools.h
+1-1flang/lib/Lower/Bridge.cpp
+371-115 files

LLVM/project 6007ce0flang/lib/Evaluate tools.cpp, flang/test/Lower split-sum-expression-tree-lowering.f90

[flang][Lower] Reassociate sums before kind conversion

Handle one REAL or COMPLEX kind conversion around an eligible sum.

Leave the conversion around the rebuilt expression.

Keep conversions embedded in mixed-kind trees ineligible.

Tests cover enabled and disabled lowering for both numeric categories.

Assisted-by: Codex
DeltaFile
+79-20flang/test/Lower/split-sum-expression-tree-lowering.f90
+36-3flang/lib/Evaluate/tools.cpp
+115-232 files

LLVM/project b624290flang/lib/Evaluate tools.cpp, flang/test/Lower split-sum-expression-tree-lowering.f90

[flang][Lower] Reassociate sums containing pure calls

Allow pure procedure references to remain opaque terms while splitting
an additive expression. Continue rejecting impure calls and expressions
that reference volatile or asynchronous objects.

Add lowering coverage for movable pure calls, opaque additive arguments,
impure calls, and volatile actual arguments.

Assisted-by: Codex
DeltaFile
+87-0flang/test/Lower/split-sum-expression-tree-lowering.f90
+11-1flang/lib/Evaluate/tools.cpp
+98-12 files

FreeNAS/freenas 15abbc7src/middlewared/middlewared/plugins/apps upgrade.py, src/middlewared/middlewared/pytest/unit/plugins/apps test_upgrade_pull_failure.py

NAS-142191 / 27.0.0-BETA.1 / Don't swallow app upgrade failures in upgrade_impl (#19506)

## Problem

`upgrade_impl()` returns from inside a `finally` block, which discards
any exception raised by `pull_images_internal()`. For custom apps the
`or app.custom_app` condition makes that branch unconditional, so a
failed `docker compose pull` gets reported to the user as a successful
upgrade.

What you see: the Update job finishes in about a second with state
SUCCESS and progress "App successfully upgraded and redeployed", then
the update badge reappears. The real error only lands in
`/var/log/app_lifecycle.log`.

The wrong status also hides two steps that get skipped when the pull
raises, both sitting after `compose_action()` in
`pull_images_internal()`: the `clear_update_flag_for_tag` loop and
`app.redeploy`. So the app isn't recreated and the update flag stays

    [29 lines not shown]
DeltaFile
+52-0src/middlewared/middlewared/pytest/unit/plugins/apps/test_upgrade_pull_failure.py
+9-5src/middlewared/middlewared/plugins/apps/upgrade.py
+61-52 files