LLVM/project cff0e6bcompiler-rt/lib/builtins clear_cache.c

[Mips] Restrict rdhwr+synci to Linux on MIPS R6 (#222566)

The rdhwr instruction reads synci_step, which is not allowed by OpenBSD
and is not available for ISA older than mips{32/64}r2.

Restrict the rdhwr+synci to Linux on MIPS R6 and fall back to
_flush_cache on all other MIPS targets including OpenBSD and pre-R6
Linux.

Fix #219896.
DeltaFile
+2-2compiler-rt/lib/builtins/clear_cache.c
+2-21 files

LLVM/project db175d4mlir/include/mlir/Dialect/Utils ReshapeOpsUtils.h, mlir/lib/Dialect/MemRef/IR MemRefOps.cpp

[mlir][Tensor] Reject empty expand_shape reassociation groups (#222648)

`tensor.expand_shape` with an empty reassociation group (e.g. `[[]]`)
used to abort the compiler: ExpandShapeOp::verify forwarded the group to
getSymbolLessAffineMaps, which asserts on missing affine expressions.
The sibling `tensor.collapse_shape` already rejects this input with a
clean diagnostic.

Extract the empty-group check into a helper shared by both tensor
reshape verifiers, invoke it from `ExpandShapeOp::verify`, and add an
invalid.mlir regression test that used to SIGABRT.

Fixes: #222602
DeltaFile
+1-11mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
+12-0mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
+6-4mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
+8-0mlir/test/Dialect/Tensor/invalid.mlir
+27-154 files

LLVM/project 4a7be3fmlir/include/mlir/IR Diagnostics.h, mlir/lib/IR Diagnostics.cpp

[mlir] Add support for multi-parts diagnostics (#217804)

Under the current MLIR diagnostic infrastructure, emitting multiple
remarks at the same location requires calling the remark API multiple
times; moreover, every call to remark prints a note. This PR introduces
the concepts of "parts" To diagnostics. A streaming manipulator, called
`next`, similar to `std::endl` can be used to split multiple parts into
a single `InFlightDiagnostic`. This can be used for example to emit
multiple remarks at the same location, share the notes for those
remarks.

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
DeltaFile
+51-5mlir/lib/IR/Diagnostics.cpp
+49-0mlir/test/lib/IR/TestDiagnosticsNext.cpp
+44-3mlir/include/mlir/IR/Diagnostics.h
+14-14mlir/lib/Target/LLVMIR/ModuleImport.cpp
+8-0mlir/test/IR/diagnostic-handler-next.mlir
+2-0mlir/tools/mlir-opt/mlir-opt.cpp
+168-221 files not shown
+169-227 files

FreeBSD/ports e0d2f85security/seal Makefile distinfo

security/seal: Update to 4.4.5
DeltaFile
+3-3security/seal/distinfo
+1-1security/seal/Makefile
+4-42 files

LLVM/project dfd1a85llvm/lib/Transforms/IPO ThinLTOBitcodeWriter.cpp, llvm/test/Transforms/ThinLTOBitcodeWriter comdat.ll split-internal-alias.ll

[CFI] Don't create alias->alias chains. (#225951)

Discovered downstream after PR #225173, when CFI and HWASAN are
combined.

See also
https://github.com/llvm/llvm-project/pull/225173#issuecomment-5802301926

If there is an alias, we should leave it alone, find its aliasee, and
create a new external linkage alias to that. Even if local linkage, the
existing alias may be referenced by name by e.g. inline assembly.
DeltaFile
+32-0llvm/test/Transforms/ThinLTOBitcodeWriter/split-internal-alias.ll
+5-1llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
+2-2llvm/test/Transforms/ThinLTOBitcodeWriter/comdat.ll
+39-33 files

LLVM/project 593605cclang/lib/CIR/Dialect/Transforms FlattenCFG.cpp, clang/test/CIR/CodeGen lifetime-marker.cpp

[CIR] Don't create EH paths for lifetime-marker-only cleanups (#224829)

### summary

fix https://github.com/llvm/llvm-project/issues/224821

A lifetime marker is not a real cleanup, so it must never be the reason
an unwind edge exists.

Assisted by : Claude Opus5
DeltaFile
+165-18clang/test/CIR/CodeGen/lifetime-marker.cpp
+53-6clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
+4-10clang/test/CIR/Transforms/flatten-cleanup-scope-musttail.cir
+222-343 files

FreeBSD/ports 84040bfdevel/jenkins Makefile distinfo

devel/jenkins: Update to 2.583

Sponsored by:   The FreeBSD Foundation
DeltaFile
+3-3devel/jenkins/distinfo
+1-1devel/jenkins/Makefile
+4-42 files

FreeBSD/ports 85418betextproc/nerdlog Makefile distinfo

textproc/nerdlog: Update to 1.11.0
DeltaFile
+5-5textproc/nerdlog/distinfo
+1-2textproc/nerdlog/Makefile
+6-72 files

LLVM/project 846ad9dmlir/lib/Dialect/Utils StaticValueUtils.cpp, mlir/test/Dialect/MemRef canonicalize.mlir

[mlir] Fix canonicalizer crash when folding poison or kDynamic-sentinel index values (#223609)

Fixes two canonicalizer crashes, both in foldDynamicIndexList:

* #223333: tensor.extract_slice with a ub.poison offset/size crashes
canonicalization. ub.poison is matched as a constant but is not an
IntegerAttr, so getConstantIntValue returns nullopt and the subsequent
dereference asserts.
* #223336: a memref.subview offset/size/stride that wraps to
ShapedType::kDynamic (INT64_MIN) crashes canonicalization. Folding
INT64_MIN into the static array collides with the "dynamic" marker,
leaving dynamic-looking entries with no matching dynamic operands;
getMixedStrides() then asserts.

Only fold an operand when it is an integer constant whose value is not
ShapedType::kDynamic; poison and sentinel values stay dynamic operands.
Since foldDynamicIndexList is shared, this hardens all its callers.

Adds regression tests in mlir/test/Dialect/MemRef/canonicalize.mlir and

    [2 lines not shown]
DeltaFile
+10-10mlir/lib/Dialect/Utils/StaticValueUtils.cpp
+19-0mlir/test/Dialect/MemRef/canonicalize.mlir
+14-0mlir/test/Dialect/Tensor/canonicalize.mlir
+43-103 files

LLVM/project 11fa04dclang/lib/CIR/CodeGen CIRGenClass.cpp, clang/test/CIR/CodeGen vbase.cpp

[CIR] Make sure ptr-cast-to-vbase is guarded. (#225969)

It isn't clear how we missed this, but classic codegen does checks this,
so we should too.

Claude Helped diagnose/debug, but I did the copy/pasting :D
DeltaFile
+33-9clang/test/CIR/CodeGenCXX/virtual-base-cast.cpp
+35-3clang/lib/CIR/CodeGen/CIRGenClass.cpp
+28-0clang/test/CIR/CodeGen/vbase.cpp
+96-123 files

FreeBSD/ports fbee0f9devel/php-swoole Makefile distinfo, devel/php-swoole/files patch-config.m4 patch-src_core_misc.cc

devel/php-swoole: update to 6.2.3.
DeltaFile
+11-0devel/php-swoole/files/patch-src_core_misc.cc
+3-3devel/php-swoole/files/patch-config.m4
+3-3devel/php-swoole/distinfo
+3-2devel/php-swoole/Makefile
+20-84 files

FreeBSD/ports 457ca74www/phalcon Makefile distinfo

www/phalcon: update to 5.22.0.
DeltaFile
+3-3www/phalcon/distinfo
+1-1www/phalcon/Makefile
+4-42 files

LLVM/project 898dc21clang/docs ReleaseNotes.md, clang/lib/CodeGen ItaniumCXXABI.cpp

[clang] Inconsistent attributes for `dllexport __cxxabiv1:: __fundamental_type_info` with `-fvisibility=hidden` (#215859)

Fixes #207963

The issue is `__declspec(dllexport)` and `hidden` visibility cannot be
used together. LLVM rejects `globals` that have both attributes.

For normal globals, `CodeGenModule::setGlobalVisibility` already handles
this by giving `dllexport` priority over the visibility implied by
`-fvisibility=hidden`. RTTI follows a different code path, though.
`ItaniumRTTIBuilder::BuildTypeInfo` applies the visibility and DLL
storage class separately to the generated `_ZTI*` and `_ZTS*` globals,
so the conflict was not resolved.

As a result, marking `__cxxabiv1::__fundamental_type_info` as
`dllexport` while compiling with `-fvisibility=hidden` could generate
RTTI globals with both hidden visibility and `dllexport`, causing LLVM
to fail verification with Broken module found. The same problem can
occur for `dllexport`-ed polymorphic classes when targeting Windows with

    [7 lines not shown]
DeltaFile
+75-0clang/test/CodeGenCXX/dllexport-rtti-visibility.cpp
+45-27clang/lib/CodeGen/ItaniumCXXABI.cpp
+1-0clang/docs/ReleaseNotes.md
+121-273 files

FreeBSD/src 508b182sys/dev/ichiic ig4_pci.c

ichiic: Add PCI id for Arrow Lake.

Add PCI id for Arrow Lake to attach iic driver

Reviewed by: wulf, mav
Differential Revision: https://reviews.freebsd.org/D51107

(cherry picked from commit 87994467966806ffbd1f500b510858909c736b88)
DeltaFile
+12-0sys/dev/ichiic/ig4_pci.c
+12-01 files

FreeBSD/src 5a19be1sys/dev/ichiic ig4_pci.c

ig4: Add Lunar Lake-M I2C controllers 4 and 5

Commit 851dffef532a added the Lunar Lake-M I2C controllers 0 through 3
(0xa878-0xa87b), which sit on PCI device 0x15.  The platform exposes two
further controllers at 0xa850 and 0xa851 on PCI device 0x19, reported by
Intel as I2C #4 and #5.  This mirrors the layout already handled for
Arrow Lake-U, where both the 0x777x and 0x775x ranges are listed.

On an HP OmniBook X Flip 16-as0xxx (Core Ultra 9 288V) the firmware
enables only four of the six controllers, and both HID devices sit on
the two that were missing: an ELAN2514 touchscreen on controller 4 and
a SYNA3503 touchpad on controller 5.  Neither attaches without this
change, so the machine has no working pointing device.

Like the other four, these use the Tiger Lake revision of the I2C IP;
Linux treats 0xa850/0xa851 identically to 0xa878-0xa87b in
intel-lpss-pci.c.

Tested on:      HP OmniBook X Flip 16-as0xxx (Intel Core Ultra 9 288V)

    [6 lines not shown]
DeltaFile
+4-0sys/dev/ichiic/ig4_pci.c
+4-01 files

FreeBSD/src 1fdced9sys/dev/ichiic ig4_pci.c

ig4: Add support for Lunar Lake-M I2C

this patch adds PCI IDs to the ig4(4) driver:
- Lunar Lake-M (0xa878, 0xa879, 0xa87a, 0xa87b)
These controllers use the Tiger Lake hardware revision of the I2C IP.
Adding these IDs enables support for peripherals connected to the I2C Bus.
Tested on: Intel Lunar Lake (LENOVO_MT_21QX_BU_Think_FM_ThinkPad T14s Gen 6)

Signed-off-by: Defenso-EBO <etienne.bonnand at defenso.fr>

MFC after: 2 weeks

Sponsored by: Defenso

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1995

(cherry picked from commit 851dffef532ad9611fcaf02318744c8de9f397b0)
DeltaFile
+8-0sys/dev/ichiic/ig4_pci.c
+8-01 files

OpenZFS/src 060f30c.github/workflows zfs-qemu.yml

CI: Remove centos-streamX from default builders

In practice, we've seen limited benefit from always running the
centos-stream9 and centos-stream10 builders as part of the CI.
Remove them from the default set of builders to reduce the CI
load per PR.  They may still be optionally requested.

Reviewed-by: Alexander Moch <mail at alexmoch.com>
Reviewed-by: George Melikov <mail at gmelikov.ru>
Reviewed-by: Tony Hutter <hutter2 at llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Closes #19182
DeltaFile
+1-1.github/workflows/zfs-qemu.yml
+1-11 files

LLVM/project fbf3c11bolt/test/AArch64 fix-block-counts-indirect-call.s fix-block-count-multiple.s, bolt/test/RISCV fix-block-counts-indirect-call.s fix-block-count-multiple.s

[BOLT] Include indirect calls/branches in basic block count estimation (#225104)

**Before:** When BOLT adjusts basic block counts in LBR mode it
considers outgoing branch counts when `--fix-block-counts` is enabled.
This adjustment was made according to the counts of direct calls and
branches which are recorded in the `Count` annotation made in
`DataReader::convertBranchData`. Indirect calls and branches are also
recorded within the `CallProfile` annotation, however they do not
contribute to the adjustment of basic block counts.

**After:** When making this adjustment to basic block counts, also
consider the counts of indirect calls and branches within the
`CallProfile` annotation. Do this by summing the execution counts of the
targets from this call/branch and considering them in determining the
maximum execution count of the basic block.

Assisted by: Codex. This was to write the tests for `x86` and `RISCV`
targets.
DeltaFile
+78-0bolt/test/RISCV/fix-block-count-multiple.s
+78-0bolt/test/AArch64/fix-block-count-multiple.s
+76-0bolt/test/X86/fix-block-count-multiple.s
+71-0bolt/test/RISCV/fix-block-counts-indirect-call.s
+71-0bolt/test/AArch64/fix-block-counts-indirect-call.s
+69-0bolt/test/X86/fix-block-counts-indirect-call.s
+443-04 files not shown
+659-910 files

FreeBSD/src 3f27c54sys/dev/ichiic ig4_pci.c

ig4: Add Lunar Lake-M I2C controllers 4 and 5

Commit 851dffef532a added the Lunar Lake-M I2C controllers 0 through 3
(0xa878-0xa87b), which sit on PCI device 0x15.  The platform exposes two
further controllers at 0xa850 and 0xa851 on PCI device 0x19, reported by
Intel as I2C #4 and #5.  This mirrors the layout already handled for
Arrow Lake-U, where both the 0x777x and 0x775x ranges are listed.

On an HP OmniBook X Flip 16-as0xxx (Core Ultra 9 288V) the firmware
enables only four of the six controllers, and both HID devices sit on
the two that were missing: an ELAN2514 touchscreen on controller 4 and
a SYNA3503 touchpad on controller 5.  Neither attaches without this
change, so the machine has no working pointing device.

Like the other four, these use the Tiger Lake revision of the I2C IP;
Linux treats 0xa850/0xa851 identically to 0xa878-0xa87b in
intel-lpss-pci.c.

Tested on:      HP OmniBook X Flip 16-as0xxx (Intel Core Ultra 9 288V)

    [6 lines not shown]
DeltaFile
+4-0sys/dev/ichiic/ig4_pci.c
+4-01 files

FreeBSD/src c4d21f6sys/dev/ichiic ig4_pci.c

ig4: Add support for Lunar Lake-M I2C

this patch adds PCI IDs to the ig4(4) driver:
- Lunar Lake-M (0xa878, 0xa879, 0xa87a, 0xa87b)
These controllers use the Tiger Lake hardware revision of the I2C IP.
Adding these IDs enables support for peripherals connected to the I2C Bus.
Tested on: Intel Lunar Lake (LENOVO_MT_21QX_BU_Think_FM_ThinkPad T14s Gen 6)

Signed-off-by: Defenso-EBO <etienne.bonnand at defenso.fr>

MFC after: 2 weeks

Sponsored by: Defenso

Reviewed by: imp
Pull Request: https://github.com/freebsd/freebsd-src/pull/1995

(cherry picked from commit 851dffef532ad9611fcaf02318744c8de9f397b0)
DeltaFile
+8-0sys/dev/ichiic/ig4_pci.c
+8-01 files

LLVM/project b19a36amlir/include/mlir/Dialect/Affine/IR AffineOps.td, mlir/test/Dialect/Bufferization/Transforms buffer-loop-hoisting.mlir

[mlir][Affine] Prevent buffer hoisting out of affine.parallel (#225324)

I noticed that `buffer-loop-hoisting` can move allocations out of
`affine.parallel`, making a buffer that should be local to each
iteration shared between the parallel iterations.

`AffineParallelOp` implements `LoopLikeOpInterface` but was missing the
`HasParallelRegion` trait, so `isSequentialLoop` treated it as
sequential. This adds the missing trait to `affine.parallel`, allowing
the pass to recognize the parallel boundary without changing the
hoisting logic.

I’ve added a regression test based on the reproducer in #225149, which
checks that the allocation stays inside `affine.parallel` and that the
store and load still use that allocation.

Fixes #225149.
DeltaFile
+24-0mlir/test/Dialect/Bufferization/Transforms/buffer-loop-hoisting.mlir
+2-1mlir/include/mlir/Dialect/Affine/IR/AffineOps.td
+26-12 files

LLVM/project 569085fclang/lib/Headers riscv_packed_simd.h, clang/test/CodeGen/RISCV rvp-intrinsics.c

[Clang][RISCV] Add packed widening subtraction accumulate intrinsics (#225764)

Add Clang header intrinsics for the RISC-V P-extension packed widening
subtraction accumulate operations:

- __riscv_pwsuba_i16x4
- __riscv_pwsuba_i32x2
- __riscv_pwsubau_u16x4
- __riscv_pwsubau_u32x2

Each computes rd + (a - b). The header wrappers use generic LLVM IR,
so RV32 selects the direct `pwsuba.*` / `pwsubau.*` instructions while
RV64 lowers the generic IR to the decomposition specified by the
P-extension intrinsic spec.
DeltaFile
+121-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+85-0llvm/test/CodeGen/RISCV/rvp-widening-sub-acc.ll
+57-0llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+40-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+16-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+13-0clang/lib/Headers/riscv_packed_simd.h
+332-06 files

LLVM/project cdd0cc7clang/lib/Headers riscv_packed_simd.h, clang/test/CodeGen/RISCV rvp-intrinsics.c

[Clang][RISCV] Add packed subvector insert intrinsics (#225771)

Add __riscv_pset_i8x4_i8x8, __riscv_pset_u8x4_u8x8,
__riscv_pset_i16x2_i16x4 and __riscv_pset_u16x2_u16x4, which insert a
32-bit packed subvector into a 64-bit packed vector. The index selects
the low or high half and must be a constant, enforced with
__enable_if__ as for the element insert intrinsics.
DeltaFile
+306-0clang/test/CodeGen/RISCV/rvp-intrinsics.c
+56-0cross-project-tests/intrinsic-header-tests/riscv_packed_simd.c
+38-0clang/lib/Headers/riscv_packed_simd.h
+400-03 files

LLVM/project a3ac598flang/include/flang/Optimizer/Transforms Passes.td, flang/lib/Optimizer/Builder FIRBuilder.cpp

[flang][cuda] Defer data-transfer conversion in OpenACC routines (#225906)

Add an option so cuf-convert can leave cuf.data_transfer in the
host copy of an OpenACC routine until host/device specialization.
After that, transfers in a specialized device body become
assignments. Place allocas inside IsolatedFromAbove offload
regions so later FIR lowering does not store into a temporary
defined outside acc.compute_region.
DeltaFile
+101-0flang/test/Fir/CUDA/cuda-data-transfer-defer-acc-routine.mlir
+46-1flang/lib/Optimizer/Transforms/CUDA/CUFOpConversion.cpp
+9-2flang/include/flang/Optimizer/Transforms/Passes.td
+6-0flang/lib/Optimizer/Builder/FIRBuilder.cpp
+162-34 files

FreeBSD/src 784f570usr.bin/split split.1

split.1: grammar

PR:             294757
Reported by:    Ulrich Eduard
MFC after:      1 week

(cherry picked from commit c0c7d1e1af4e42deb9c5a95c735602100c3cc1f2)
DeltaFile
+1-1usr.bin/split/split.1
+1-11 files

LLVM/project 5b8f372llvm/lib/Target/RISCV RISCVInstrInfoP.td, llvm/test/CodeGen/RISCV rvp-simd-64.ll rvp-ppaireo-w.ll

[RISCV][P-ext] Select PPAIREO.W when packing with the high word of a value (#225763)

The low-half packed subvector insert is a v2i32 whose low word is the
subvector and whose high word is the high word of the wide vector,
which is exactly `ppaireo.w` (the low word comes from `rs1`, the high
word from `rs2`). Select it directly instead of `srli` + `pack`.

Adds `rvp-ppaireo-w.ll`; `rvp-simd-64.ll` is updated because the scalar
low insert in `test_insert_vector_32` now selects `ppaireo.w`.
DeltaFile
+46-0llvm/test/CodeGen/RISCV/rvp-ppaireo-w.ll
+5-0llvm/lib/Target/RISCV/RISCVInstrInfoP.td
+1-2llvm/test/CodeGen/RISCV/rvp-simd-64.ll
+52-23 files

LLVM/project 3b26448libc/src/sys/stat CMakeLists.txt mknod.h, libc/src/sys/stat/linux CMakeLists.txt mknod.cpp

[libc] Implement mknod in sys/stat (#225677)

Implement the standard POSIX.1-2008 / POSIX.1-2024 function `mknod` in
`<sys/stat.h>`.

Fixes #225664
DeltaFile
+72-0libc/test/src/sys/stat/mknod_test.cpp
+35-0libc/src/sys/stat/linux/mknod.cpp
+27-0libc/src/sys/stat/mknod.h
+23-0libc/test/src/sys/stat/CMakeLists.txt
+17-0libc/src/sys/stat/linux/CMakeLists.txt
+7-0libc/src/sys/stat/CMakeLists.txt
+181-04 files not shown
+190-010 files

LLVM/project d41ee5cllvm/lib/Transforms/Scalar ConstraintElimination.cpp, llvm/test/Transforms/ConstraintElimination srem.ll sdiv.ll

[ConstraintElim] Add facts for sdiv with a positive divisor. (#225535)

Add signed bounds for `sdiv x, n`:

  * `x s>= 0` and `n s> 0`  =>  result s>= 0 and result s<= x
    https://alive2.llvm.org/ce/z/Tvb3Nq
  * `x s>  0` and `n s> 1`  => result s= 0 and result s< x
   https://alive2.llvm.org/ce/z/sL-XyG

PR: https://github.com/llvm/llvm-project/pull/225535
DeltaFile
+492-0llvm/test/Transforms/ConstraintElimination/sdiv.ll
+29-2llvm/lib/Transforms/Scalar/ConstraintElimination.cpp
+0-20llvm/test/Transforms/ConstraintElimination/srem.ll
+521-223 files

LLVM/project 9edbab8llvm/lib/Transforms/Utils SCCPSolver.cpp, llvm/test/Transforms/SCCP fastmath-flags.ll

[SCCP] Call correct simplifyBinOp in FP operation

This simplify FPOps with correct FMF, which covers non-inlined function
that can not be simplified by InstComb pass.

Also, update the TODO as we have cover that case in simplifyBinOp. But
per-element optimization is not enable as we don't have structure-like
LatticeMap for vector.
DeltaFile
+189-0llvm/test/Transforms/SCCP/fastmath-flags.ll
+10-4llvm/lib/Transforms/Utils/SCCPSolver.cpp
+199-42 files

LLVM/project 8333d8bllvm/lib/Target/AMDGPU AMDGPUInstCombineIntrinsic.cpp

Update again
DeltaFile
+39-45llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
+39-451 files