LLVM/project 4e5bd0emlir/include/mlir/Dialect/Complex/IR ComplexOps.td, mlir/lib/Dialect/Complex/IR ComplexOps.cpp

[mlir][complex] Fix miscompile with log(exp) fold (#212781)

The complex folder `log(exp(z)) -> z` leads to a miscompile if |Im(z)|
\> pi since `clog` is expected to return the principal value of the
complex log, whose imaginary part is in `(pi, pi]`.

Since we cannot assume properties on `z`, this PR removes the incorrect
folder and updates the associated test.
DeltaFile
+0-12mlir/lib/Dialect/Complex/IR/ComplexOps.cpp
+4-3mlir/test/Dialect/Complex/canonicalize.mlir
+0-2mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td
+4-173 files

FreeBSD/ports 0073abcastro/kstars Makefile

astro/kstars: Bump PORTREVISION. astro/stellarsolver was updated to 2.8

PR:             289516
DeltaFile
+1-1astro/kstars/Makefile
+1-11 files

LLVM/project e29609amlir/include/mlir/Dialect/Vector/IR VectorOps.td, mlir/lib/Dialect/Vector/IR VectorOps.cpp

[mlir][Vector] Add interleave(splat, splat) -> wide splat fold (#215255)
DeltaFile
+11-0mlir/test/Dialect/Vector/canonicalize.mlir
+9-0mlir/lib/Dialect/Vector/IR/VectorOps.cpp
+1-0mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
+21-03 files

LLVM/project 6153459mlir/lib/Dialect/X86/Transforms VectorContractToAMXDotProduct.cpp, mlir/test/Dialect/X86/AMX vector-contract-to-tiled-dp.mlir

[mlir][x86] Fix - Allow AMX lowering not to care about epilogue ops. (#215459)

`x86` AMX lowering looks to patten match with `transfer_write` or
`store` and hence it doesn't re-write for epilogue ops.
This patch fixes/extend the lower pattern of AMX to not care about
epilogue ops.

Issue: https://github.com/libxsmm/tpp-mlir/issues/1171
DeltaFile
+60-0mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
+12-8mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
+72-82 files

FreeBSD/ports e077232astro/stellarsolver Makefile, astro/stellarsolver/files patch-stellarsolver_astrometry_os-features.h patch-stellarsolver_stellarsolver.cpp

astro/stellarsolver: Update to 2.8

- Migrate to QT6

ChangeLog at:   https://github.com/rlancaste/stellarsolver/releases/tag/2.8
DeltaFile
+0-75astro/stellarsolver/files/patch-stellarsolver_astrometry_util_os-features-test.c
+30-0astro/stellarsolver/files/patch-stellarsolver_externalextractorsolver.cpp
+26-0astro/stellarsolver/files/patch-stellarsolver_astrometry_include_astrometry_os-features.h
+18-6astro/stellarsolver/files/patch-stellarsolver_stellarsolver.cpp
+8-5astro/stellarsolver/Makefile
+0-11astro/stellarsolver/files/patch-stellarsolver_astrometry_os-features.h
+82-974 files not shown
+101-10510 files

LLVM/project 09276c7llvm/lib/Transforms/Vectorize VPlanUtils.cpp, llvm/test/Transforms/LoopVectorize pointer-induction.ll vplan-based-stride-mv.ll

[VPlan] Allow cleanup of dead ExpandSCEVs (#208952)

Trip-count expressions are never dead.
DeltaFile
+72-0llvm/test/Transforms/LoopVectorize/expand-scev-unused-epilogue-vec.ll
+0-11llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv-btc.ll
+0-11llvm/test/Transforms/LoopVectorize/reuse-lcssa-phi-scev-expansion.ll
+0-5llvm/test/Transforms/LoopVectorize/vplan-based-stride-mv.ll
+5-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+1-3llvm/test/Transforms/LoopVectorize/pointer-induction.ll
+78-305 files not shown
+84-3311 files

LLVM/project d082719clang/lib/AST ASTImporter.cpp, clang/test/Analysis/ctu import_incomplete_array_auto_return_type.cpp

[clang][ASTImporter] Remove 'hasReturnTypeDeclaredInside' (#169504)

The function `hasReturnTypeDeclaredInside` and a related visitor class
was used to detect recursive import of function declarations. There is
now a new way to detect the recursive import that works in all cases
(unlike the previous method). A test is added to show a case when
the old solution does not work.
DeltaFile
+7-230clang/lib/AST/ASTImporter.cpp
+43-0clang/test/Analysis/ctu/import_incomplete_array_auto_return_type.cpp
+50-2302 files

OPNSense/src f331124sys/netpfil/pf pf.c

pf: mark non-port packets to require IP checksumming #312

Instead of recomputing on the spot let's try to use this instead.
DeltaFile
+4-1sys/netpfil/pf/pf.c
+4-11 files

FreeBSD/doc 67fbe6awebsite/themes/beastie/i18n ru.toml

website: translate header menu in release docs to Russian

Approved by: re (implicit)
Differential Revision: https://reviews.freebsd.org/D58783
DeltaFile
+11-11website/themes/beastie/i18n/ru.toml
+11-111 files

LLVM/project 20e97c4clang/lib/AST/ByteCode Interp.h

[clang][bytecode] Remove superfluous CheckArray() calls (#215469)

We already do this later in OffsetHelper.
DeltaFile
+0-10clang/lib/AST/ByteCode/Interp.h
+0-101 files

OPNSense/core 60bda99src/etc/inc/plugins.inc.d captiveportal.inc

captiveportal.inc rename rdr_port to localport since thats better here
DeltaFile
+3-3src/etc/inc/plugins.inc.d/captiveportal.inc
+3-31 files

LLVM/project 92dde06clang/lib/AST/ByteCode InterpBuiltinBitCast.cpp

[clang][bytecode][NFC] Remove FunctionPointer from PrimTypeVariant (#215465)

FunctionPointers are always regular Pointers these days.
DeltaFile
+4-5clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
+4-51 files

FreeBSD/src c64d42csbin/ipfw ipfw2.h main.c

ipfw: rework 32-bit KBI detection

When we run 14.X jail on 15.X host system previous implementation could
not correctly detect 32-bit KBI due to jails can overwrite osreldate.

Add special handling for this case and use detection using
IP_FW_DUMP_SOPTCODES and IP_FW_XGET sockopts version.

Reported by:    Vova Grebenschikov
Fixes:  704ec5e68c44
MFC after:      3 days
Differential Revision:  https://reviews.freebsd.org/D56616
DeltaFile
+102-0sbin/ipfw/ipfw2.c
+7-7sbin/ipfw/main.c
+1-0sbin/ipfw/ipfw2.h
+110-73 files

LLVM/project 35baf29mlir/include/mlir/Dialect/Linalg/TransformOps LinalgTransformOps.td, mlir/include/mlir/Dialect/Transform/Utils Utils.h

[mlir][linalg] TileUsingFor - variadic tiles and interchange (#214539)

Extends the 'structured.tile_using_for' op to accept packed handle
containing variable number of tile sizes, and dynamic and packed loop
interchange values.

Packed handles allows for runtime tiling decisions which improves
transform schedule flexibility and reusability.
The extension follows the existing approach used by other tiling ops.

Assisted-by: Claude
DeltaFile
+304-5mlir/test/Dialect/Linalg/transform-op-tile.mlir
+185-45mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
+46-13mlir/python/mlir/dialects/transform/structured.py
+52-5mlir/include/mlir/Dialect/Transform/Utils/Utils.h
+49-0mlir/test/python/dialects/transform_structured_ext.py
+35-4mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
+671-721 files not shown
+683-767 files

OPNSense/core 7049f70src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api DNatController.php

Firewall: NAT: Destination NAT: include automatic rules in recordset pipeline
DeltaFile
+49-23src/opnsense/mvc/app/controllers/OPNsense/Firewall/Api/DNatController.php
+49-231 files

OpenBSD/xenocara Q6CnC9N. MODULES

   update
VersionDeltaFile
1.568+8-8MODULES
+8-81 files

FreeBSD/ports c44d94fwww/pomerium-envoy-custom Makefile

www/pomerium-envoy-custom: fix GOROOT to track default Go version

Use ${GO_SUFFIX} instead of hardcoded go125, so the GOROOT path
tracks whatever Go version USES=go selects.  This fixes a build
failure after the default Go version was switched to 1.26.
DeltaFile
+1-1www/pomerium-envoy-custom/Makefile
+1-11 files

OPNSense/src dd064f2sys/dev/pci pcireg.h

pci: Add L1 PM definitions

Add register/bit definitions for the L1 PM substates capability
(PCIZ_L1PM) to pcireg.h.

Signed-off-by: Michael Adler <madler at tapil.com>

Pull-Request:   https://github.com/freebsd/freebsd-src/pull/2318

(cherry picked from commit 04f8a6aeeba5cbaa48be7134765ee49d5b1b9857)
DeltaFile
+14-0sys/dev/pci/pcireg.h
+14-01 files

FreeBSD/ports bc66be7mail/exim Makefile, mail/exim/files exim.in

mail/exim: daemon fails to create notifier socket on start if no correct exit (+)

Since recent version (e.g. 4.98) exim successfully creates notifier socket file in FreeBSD.
But if file already exists during exim start it's just ignored with error message in log.
Without notifier socket exim cannot check if there is already running exim daemon
with e.g. such condition: ${if eq {$queue_size} {} }.

Add socket file removing before daemon start.
exim_notifier_socket variable is added for notifier_socket setting overriding in exim configuration.

PR:             281615
Notified by:    vvd

(cherry picked from commit 5d6b7ba559157e30942d5a06683662823d078d59)
DeltaFile
+1-1mail/exim/Makefile
+2-0mail/exim/files/exim.in
+3-12 files

LLVM/project 0092388clang/docs ReleaseNotes.md

Update based on reviewer comment.
DeltaFile
+1-1clang/docs/ReleaseNotes.md
+1-11 files

LLVM/project 4d7d604clang/docs ReleaseNotes.md

Update clang/docs/ReleaseNotes.md

Co-authored-by: Dickson Chau <61763724+dicksonchau at users.noreply.github.com>
DeltaFile
+1-1clang/docs/ReleaseNotes.md
+1-11 files

LLVM/project 8fe9083clang/docs ReleaseNotes.md

[SystemZ][ReleaseNotes] clang release notes for SystemZ

Adds more content to the release notes.
DeltaFile
+4-0clang/docs/ReleaseNotes.md
+4-01 files

LLVM/project c4d6d6allvm/docs ReleaseNotes.md

[ReleaseNotes][SystemZ] Add notes for SystemZ

Add the release notes for the SystemZ backend.
DeltaFile
+39-0llvm/docs/ReleaseNotes.md
+39-01 files

LLVM/project a68f35bllvm/lib/Support/Unix Path.inc

[AIX][SystemZ][Support] Check if file is dir on open instead of read (#214815)

See
https://github.ibm.com/compiler/llvm-project/commit/678f19f08296fec299438130cf5943714c590b7e
for the original change.

This original change would run fstat() on the file at every read(). In
the non-error situation that is a lot of redundant checking. Moving the
fstat() check to openNativeFileForRead() will reduce the checks to a
minimum and still produce the same error if someone tries to open a
directory.

(cherry picked from commit 9c7ba7b1d12ed3f395a2317c525a98e5bfcf28e9)
DeltaFile
+9-9llvm/lib/Support/Unix/Path.inc
+9-91 files

LLVM/project 293b43f.github/workflows release-tasks.yml

workflows/release-task: Stop uploading lit to test.pypi.org (#214979)

The gh-action-pypi-publish action only supports being run once per job.
Running it twice results in the second upload always failing. Rather
than trying to create a complicated job structure to support uploading
to test.pypi.org and pypi.org, we just remove the test.pypi.org upload
for now.

(cherry picked from commit b6a9f2f765e49740062847a3319a4dc4cc5ebab1)
DeltaFile
+0-6.github/workflows/release-tasks.yml
+0-61 files

LLVM/project b2f5a6f.github/workflows release-tasks.yml

release-tasks: Disable lit publishing for release candidates (#214972)

There is no rc in the lit version string, so release candidates get
published using the non-rc version number.

(cherry picked from commit ef4d4d074570232364982564782c86083d5dcf78)
DeltaFile
+1-0.github/workflows/release-tasks.yml
+1-01 files

LLVM/project 8f6baefllvm/lib/Target/LoongArch LoongArchLASXInstrInfo.td, llvm/test/CodeGen/LoongArch/lasx/ir-instruction fptosi.ll fptoui.ll

[LoongArch][LASX] Fix fptosi/fptoui from <4 x float> to <4 x i64> (#214621)

These were lowered through a 128-bit f32 to i32/u32 conversion followed
by a sign/zero extension, which silently clamps any finite input that
does not fit in i32/u32 instead of producing the correct 64-bit integer.

Convert directly with xvftintrzl.l.s for the signed case. For the
unsigned case there is no f32 -> u64 lane conversion in LASX, so widen
to f64 first (which is exact) and convert with xvftintrz.lu.d. Both
forms use xvpermi.d to move the inputs into the low 64 bits of each
128-bit lane, as required by these lane-wise conversions.

Built and verified on Arch Linux for Loong64:
https://github.com/lcpu-club/loongarch-packages/pull/974. Both the LLVM
side and the Highway test suite that discovered the bug have passed
verification.
Assisted by Kimi K3 AI agent.

Fixes https://github.com/llvm/llvm-project/issues/214605

    [2 lines not shown]
DeltaFile
+7-6llvm/lib/Target/LoongArch/LoongArchLASXInstrInfo.td
+3-2llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptoui.ll
+2-2llvm/test/CodeGen/LoongArch/lasx/ir-instruction/fptosi.ll
+12-103 files

LLVM/project 36221b7llvm/lib/Target/X86 X86ISelLowering.cpp, llvm/test/CodeGen/X86 fptosi-sat-scalar-f16.ll fptosi-sat-scalar.ll

[X86] Fix miscompile of fptosi.sat.iN.f16 for NaN under avx512fp16 (#210556)

`X86TargetLowering::LowerFP_TO_INT_SAT` incorrectly lowered
`llvm.fptosi.sat.iN.f16` for N = 13, 14, 15, 16 under `avx512fp16`
codegen: NaN inputs produced the destination type's minimum value
instead of the 0 that the intrinsic's documented semantics require.
Vector forms that scalarize through this lowering are affected under
the same condition, applied per element. See the third commit message
for the full root-cause analysis and fix rationale.

---

Assisted-by: Claude (Anthropic)
Assisted-by: Codex (OpenAI)

The investigation, root-cause analysis, fix, and tests in this PR were
developed with substantial AI assistance (Claude), including four
independent AI-assisted review rounds (Codex). I reviewed and take
responsibility for all code, analysis, and claims in this PR, and can

    [3 lines not shown]
DeltaFile
+112-1,272llvm/test/CodeGen/X86/fptosi-sat-scalar.ll
+1,298-0llvm/test/CodeGen/X86/fptosi-sat-scalar-f16.ll
+8-4llvm/lib/Target/X86/X86ISelLowering.cpp
+1,418-1,2763 files

LLVM/project c23b540llvm/lib/Target/WebAssembly WebAssemblyFastISel.cpp, llvm/test/CodeGen/WebAssembly signext-inreg.ll

[WebAssembly][FastISel] Fix sext i1 to i64 with +sign-ext (#213734) (#214007)

Fixes #213734
---

## Summary

At `-O0`, WebAssembly FastISel could miscompile programs that
sign-extend an i1 value to i64 when the `+sign-ext` target feature is
enabled. The bug was introduced in LLVM 23 by the FastISel sign-ext
optimization (#179855).

For `sext i1 to i64`, FastISel fell through its switch without emitting
any instruction and returned an undefined register. Code that uses this
pattern to adjust integer division results (such as floor division)
could then compute the wrong answer. The issue reporter saw `-1` instead
of the correct `-2`.

This patch restructures `signExtend()` so i8, i16, and i32 still use

    [20 lines not shown]
DeltaFile
+14-16llvm/lib/Target/WebAssembly/WebAssemblyFastISel.cpp
+23-2llvm/test/CodeGen/WebAssembly/signext-inreg.ll
+37-182 files

LLVM/project 8d6df31llvm/lib/IR Instructions.cpp

[IR] Set Number of Hungoff Uses after allocation (#213304)

If allocation of the Use[] in allocHungoffUses fails (e.g. due to OOM),
it may happen that the destructor of User is called with NumUserOperands
> 0. Then `Use::zap` tries to destruct Uses that were not constructed in
the first place.

Example scenario for SwitchInst:
`SwitchInst::init()` is called, which means the constructor of the
parent class User went through successfully, which means the destructor
of User will be called eventually. If now `SwitchInst::init()` calls
first `setNumHungOffUseOperands(2)` and then `allocHungoffUses()` and
the allocation there fails, `~User()` is called and tries to destruct 2
Uses, which can lead to problems.

This patch consequently ensures that first the allocation happens and
then NumUserOperands is set accordingly, so that this problem is
prevented.

(cherry picked from commit e416b09711039b65a37b6c83977fb04c2c0889ea)
DeltaFile
+8-8llvm/lib/IR/Instructions.cpp
+8-81 files