LLVM/project 328836bclang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp

[CIR][ABI] Honor abi::ArgInfo::CanBeFlattened in the call-conv lowering (#220579)

**Summary:**
- CanBeFlattened landed on abi::ArgInfo in main
(llvm/llvm-project#220558).
- Consume the abi::ArgInfo::CanBeFlattened flag in the CIR
call-convention lowering bridge.

Assisted by: Claude Opus 4.8
DeltaFile
+8-4clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+8-41 files

LLVM/project bf73ea1llvm/include/llvm/CodeGen RegAllocPriorityAdvisor.h, llvm/lib/CodeGen RegAllocEvictionAdvisor.cpp MLRegAllocPriorityAdvisor.cpp

[MLGO] Diagnose unavailable ML advisors under the new pass manager (#224585)

Without an ML model there is no release or development advisor

The legacy pass manager says so and uses the default advisor, but the
new one just crashed
DeltaFile
+7-6llvm/lib/CodeGen/RegAllocPriorityAdvisor.cpp
+5-7llvm/lib/CodeGen/RegAllocEvictionAdvisor.cpp
+9-3llvm/lib/CodeGen/MLRegAllocPriorityAdvisor.cpp
+5-2llvm/test/CodeGen/MLRegAlloc/default-priority-advisor.ll
+3-0llvm/test/CodeGen/MLRegAlloc/default-eviction-advisor.ll
+1-1llvm/include/llvm/CodeGen/RegAllocPriorityAdvisor.h
+30-191 files not shown
+31-207 files

FreeBSD/ports 6edff70www/linux-brave pkg-descr distinfo, www/linux-brave/files brave-widevine-seed.in brave-browser.in

www/linux-brave: DRM out of the box, GPU auto-detection

Add a WIDEVINE option (default on) so DRM playback works with no
browser-side setup once the CDM is present. The option links
${PREFIX}/lib/WidevineCdm into the Brave install directory, where the
component updater discovers it as a preinstalled component, and runs a
pre-launch seed script that sets brave.widevine_opted_in and maintains
the Widevine component hint file: Chromium registers the CDM at
startup from the hint and never repairs it itself, so the script
plants the hint before the first launch and repoints it when its
target no longer holds a CDM (e.g. after the CDM port is reinstalled),
while leaving intact hints -- including one naming a newer
component-updated CDM -- alone.

The option adds no dependency: Google's license permits fetching the
CDM but not redistributing it (www/linux-widevine-cdm is
no-pkg-mirror), so a RUN_DEPENDS would keep linux-brave itself off the
package mirrors. Everything the option installs is inert until the
user builds www/linux-widevine-cdm from ports -- the symlink dangles

    [39 lines not shown]
DeltaFile
+108-4www/linux-brave/files/brave-browser.in
+79-0www/linux-brave/files/brave-widevine-seed.in
+32-25www/linux-brave/Makefile
+31-0www/linux-brave/pkg-message
+3-3www/linux-brave/distinfo
+2-1www/linux-brave/pkg-descr
+255-332 files not shown
+259-348 files

FreeBSD/ports a4e80cbmisc/antigravity-cli Makefile distinfo

misc/antigravity-cli: update 1.2.6 → 1.2.7
DeltaFile
+5-5misc/antigravity-cli/distinfo
+2-2misc/antigravity-cli/Makefile
+7-72 files

FreeBSD/ports 7c412d8net-p2p/libtorrent-rasterbar2 distinfo pkg-plist, net-p2p/qbittorrent/files patch-src_base_bittorrent_customstorage.h patch-src_base_bittorrent_customstorage.cpp

net-p2p/libtorrent-rasterbar2: update 2.0.13 → 2.1.1

- net/arrowdl is patched and patches upstreamed: https://github.com/setvisible/ArrowDL/pull/250
- net-p2p/qbittorrent is patched and patches upstreamed: https://github.com/qbittorrent/qBittorrent/issues/24942
DeltaFile
+83-62net-p2p/libtorrent-rasterbar2/pkg-plist
+59-0net/arrowdl/files/patch-src_torrent_utils.cpp
+43-0net-p2p/qbittorrent/files/patch-src_base_bittorrent_customstorage.cpp
+22-0net/arrowdl/files/patch-src_torrent_torrentcontext.cpp
+15-0net-p2p/qbittorrent/files/patch-src_base_bittorrent_customstorage.h
+11-3net-p2p/libtorrent-rasterbar2/distinfo
+233-654 files not shown
+243-6710 files

FreeBSD/ports 306c05bmisc/netron Makefile distinfo

misc/netron: update 9.2.8 → 9.2.9
DeltaFile
+3-3misc/netron/distinfo
+1-1misc/netron/Makefile
+4-42 files

NetBSD/src d7k5YKAsys/arch/atari/atari atari_init.c

   atari: Fix 68030 SRP setup across kernel relocation

   protorp[1] is currently updated after the kernel has been copied to
   TT-RAM in RELOC_KERNEL case.  The following PMOVE reads the ST-RAM
   copy while the MMU is disabled, so this happens to work when enabling
   the MMU.  After the MMU is enabled, however, protorp refers to the
   relocated copy, where protorp[1] still contains its old value.

   Fortunately, this is not currently fatal because later uses of
   protorp overwrite protorp[1] with the root table address before
   loading the root pointer.  However, any writes to global variables
   after relocation leave the reloacated kernel state inconsistent.

   Set protorp[1] before copying the kernel so that the relocated copy
   also contains the root table address.  This matches the ordering used
   by amiga.

   The PMOVE inline asm also specifies only the address of protorp as an
   input, even though it reads both words of the SRP prototype from memory.

    [2 lines not shown]
VersionDeltaFile
1.122+11-6sys/arch/atari/atari/atari_init.c
+11-61 files

FreeBSD/ports 1f9a6e6japanese Makefile, japanese/mozc-modeless distinfo pkg-descr

japanese/mozc-modeless: New port: Modeless Japanese input with Mozc for Emacs

PR:             298515
Approved by:    osa (mentor)
DeltaFile
+38-0japanese/mozc-modeless/Makefile
+11-0japanese/mozc-modeless/pkg-message
+4-0japanese/mozc-modeless/pkg-descr
+3-0japanese/mozc-modeless/distinfo
+1-0japanese/Makefile
+57-05 files

FreeBSD/ports 44babf6textproc Makefile, textproc/google-translate pkg-descr distinfo

textproc/google-translate: New port: Emacs interface to Google Translate

PR:             298459
Approved by:    osa (mentor)
DeltaFile
+33-0textproc/google-translate/Makefile
+21-0textproc/google-translate/files/pkg-message.in
+7-0textproc/google-translate/pkg-plist
+3-0textproc/google-translate/distinfo
+2-0textproc/google-translate/pkg-descr
+1-0textproc/Makefile
+67-06 files

FreeBSD/ports 3a886a5misc/edfbrowser Makefile distinfo

misc/edfbrowser: Update to 2.15

Take maintainership due to multiple consecutive timeouts.

Changelog: https://www.teuniz.net/edfbrowser/version.txt

PR:             297858
Approved by:    osa (mentor)
DeltaFile
+3-3misc/edfbrowser/distinfo
+2-2misc/edfbrowser/Makefile
+5-52 files

OpenBSD/ports wJHOLU4sysutils/libgudev distinfo Makefile, sysutils/libgudev/patches patch-gudev_meson_build

   Import libgudev-237

   libgudev is a library with GObject bindings to libudev <...>
   NOT linked to the build yet

   ok robert@
VersionDeltaFile
1.1+33-0sysutils/libgudev/Makefile
1.1+17-0sysutils/libgudev/pkg/PLIST
1.1+12-0sysutils/libgudev/patches/patch-gudev_meson_build
1.1+2-0sysutils/libgudev/pkg/DESCR
1.1+2-0sysutils/libgudev/distinfo
1.1.1.1+0-0sysutils/libgudev/pkg/PLIST
+66-04 files not shown
+66-010 files

LLVM/project 316d12dcompiler-rt/lib/builtins truncsfhf2.c extendhfsf2.c, llvm/include/llvm/IR RuntimeLibcalls.td

[compiler-rt] Use integers for __gnu_h2f_ieee and __gnu_f2h_ieee (#220167)

In libgcc, these conversion routines use integers in the signature. In
practice compiler-rt's definition has worked because the AAPCS calling
convention passes and returns floats the same as the same-sized integer,
but this may not be the case on all platforms. Thus, update the
signatures to match GCC.

This new version calls the inlined functions directly., changing the
generated code from:

    00000000 <__extendhfsf2>:
       0:   ee100a10        vmov    r0, s0
       4:   e1a01000        mov     r1, r0
      <snip>
      60:   e1800001        orr     r0, r0, r1
      64:   ee000a10        vmov    s0, r0
      68:   e12fff1e        bx      lr


    [28 lines not shown]
DeltaFile
+17-1compiler-rt/lib/builtins/fp_trunc.h
+17-1compiler-rt/lib/builtins/fp_extend.h
+6-4compiler-rt/lib/builtins/truncsfhf2.c
+6-4compiler-rt/lib/builtins/extendhfsf2.c
+4-0llvm/include/llvm/IR/RuntimeLibcalls.td
+50-105 files

LLVM/project f970f59clang/lib/AST Type.cpp, clang/test/Modules concept-specialization-deserialization.cppm

[C++20] [Modules] Profiling non dependent noexcept expression by pointer (#224528)

Another approach to solve
https://github.com/llvm/llvm-project/issues/191361 and
https://github.com/llvm/llvm-project/issues/224180 than
https://github.com/llvm/llvm-project/pull/222148

I want to avoid competing PR but I do feel the original one's approach
seems too workaround. And I want to emphasize that, in my experience,
finding the root cause is much more harder than find the solution to me.
Many thanks to @ispeters

For the approach itself, I described them in the comments of the PR.

Note that the real problem is we were profiling something is not
completely deserialized, so that even if it is not crash, the logic is
not correct.
DeltaFile
+42-0clang/unittests/Serialization/LoadSpecLazilyTest.cpp
+37-0clang/test/Modules/concept-specialization-deserialization.cppm
+13-1clang/lib/AST/Type.cpp
+92-13 files

OpenBSD/src EWm5mHYetc rc

   Make style in rootdisk_nodes more consistent with rc

   No functional changes, although variables are now localized.
VersionDeltaFile
1.596+22-21etc/rc
+22-211 files

LLVM/project be881abllvm/lib/Target/AMDGPU AMDGPUISelLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.mul.i24.ll

[AMDGPU] Fold 24 bit multiply with zero low bits

Fold `MUL_I24` and `MUL_U24` to zero when either operand has known zero
low 24 bits.

For example:
```
  llvm.amdgcn.mul.i24(x, 0x01000000) -> 0
```
DeltaFile
+21-33llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mul.i24.ll
+5-0llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+26-332 files

LLVM/project 55f80ballvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/lib/Target/AMDGPU AMDGPUISelLowering.cpp

[SelectionDAG][AMDGPU] Fold mul24 with an AND operand whose low bits are zero

Use SimplifyMultipleUseDemandedBits to simplify AND operands based on the
low 24 bits consumed by mul24.

Fold the multiply to zero when the simplified operand is zero.

This folds cases such as:

  mul24(x & 0xff000000, y) -> 0
DeltaFile
+8-8llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+6-3llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mul.i24.ll
+5-0llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+19-113 files

LLVM/project 876a9efllvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.mul.i24.ll rotl.ll

[SelectionDAG] Handle constants in SimplifyMultipleUseDemandedBits

Replace a non-zero constant with zero when none of its set bits are
demanded.

This allows users of `SimplifyMultipleUseDemandedBits` to eliminate
irrelevant constant bits while preserving the convention that a null
SDValue indicates no simplification.
DeltaFile
+38-45llvm/test/CodeGen/AMDGPU/rotl.ll
+3-6llvm/test/CodeGen/AMDGPU/llvm.amdgcn.mul.i24.ll
+3-4llvm/test/CodeGen/PowerPC/ppc-rotate-clear.ll
+2-4llvm/test/CodeGen/SystemZ/shift-08.ll
+2-4llvm/test/CodeGen/SystemZ/shift-04.ll
+6-0llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+54-634 files not shown
+58-7110 files

NetBSD/src KoQtVJSusr.sbin/npf/npfctl npfctl.c

   npfctl.c: correct typographic convention for optional argument

   (While here, add missing RCSID.)
VersionDeltaFile
1.71+4-2usr.sbin/npf/npfctl/npfctl.c
+4-21 files

FreeBSD/src f6ae5b1. configure, cli cmd_debug.cpp

kyua: import kyua-0.15.0-rc1

This change adds kyua kyua-0.15.0-rc1 from [upstream][1].

The kyua-0.15.0-rc1 artifact was been verified by [SHA256 checksum][3].

This release incorporates items upstreamed from FreeBSD src and uses C++
attributes (`[[maybe_unused]]` and `[[noreturn]]`) instead of ad hoc
equivalents.

More information about the release (from a high level) can be found in
the [release notes][4].

Updated via [`update_kyua.sh`][4] `update_kyua.sh 0.15.0-rc1 kyua-0.15.0`.

1: https://github.com/freebsd/kyua/releases/download/kyua-0.15.0-rc1/kyua-0.15.0-rc1.tar.gz
2: https://github.com/freebsd/kyua/releases/download/kyua-0.15.0-rc1/kyua-0.15.0-rc1.tar.gz.sha256
3: https://github.com/freebsd/kyua/blob/kyua-0.15.0-rc1/NEWS.md
4: https://codeberg.org/ngie/freebsd-powertools:shell/update_kyua.sh@10a04edb
DeltaFile
+44-150configure
+82-1cli/cmd_debug.cpp
+0-64m4/compiler-features.m4
+13-13engine/scheduler.hpp
+12-12engine/scheduler_test.cpp
+24-0utils/process/child.cpp
+175-24035 files not shown
+325-34041 files

OpenBSD/ports 7SF8Lfwsysutils/libudev-openbsd distinfo Makefile, sysutils/libudev-openbsd/patches patch-udev-monitor_c

   update to the latest from my repo
VersionDeltaFile
1.8+2-3sysutils/libudev-openbsd/Makefile
1.3+2-2sysutils/libudev-openbsd/distinfo
1.2+0-0sysutils/libudev-openbsd/patches/patch-udev-monitor_c
+4-53 files

LLVM/project 8cafdaallvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU AMDGPUAsmPrinter.cpp

[AMDGPU] Return zero LDS encoding granularity for dummy targets

Remove the redundant early return and assertion from getLDSEncodingGranule. Return zero when the target has no encoding granularity feature, and document and test the result for unknown and legacy generic targets.

Keep the existing 256-byte default in the assembly printer so compiling without a GPU still produces valid LDS sizes. Test default-target Mesa and PAL encodings and HSA metadata.

Change-Id: Ia0c69a0d7ce2858b31ee64100d37ae34bba6c42c
DeltaFile
+28-0llvm/test/CodeGen/AMDGPU/lds-size-default-device.ll
+10-4llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
+1-9llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+2-2llvm/unittests/TargetParser/TargetParserTest.cpp
+1-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+42-155 files

LLVM/project 4d4ce81llvm/lib/Target/AMDGPU AMDGPU.td, llvm/lib/TargetParser AMDGPUTargetParser.cpp

[AMDGPU] Add LDS encoding granularity to TargetParser

Model LDS encoding granularity with dedicated features and expose the
byte-valued getLDSEncodingGranule query for GPUKind and subarch. Keep
encoding independent of the hardware allocation granularity used for
occupancy; GFX10.3, GFX11 and GFX12.0 encode in 512-byte units while
allocating 1024-byte blocks.

Migrate program resource register and PAL metadata encoding to the new
query and remove getLdsDwGranularity from AMDGPUBaseInfo. gfx9-4-generic
uses gfx950's 1280-byte encoding granule independently of LDS capacity.

Test encoding queries, feature membership, generic-target validation and
encoded LDS sizes, including the GFX10.3 allocation/encoding distinction.

Change-Id: I9d3c2c041605e9a45fa8fbda09fc3460a74953ea
DeltaFile
+57-31llvm/unittests/TargetParser/TargetParserTest.cpp
+37-5llvm/test/TableGen/AMDGPUTargetDefLDSAllocGranularity.td
+34-1llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+34-0llvm/test/CodeGen/AMDGPU/lds-size-gfx9-4-generic.ll
+26-0llvm/test/CodeGen/AMDGPU/lds-size-gfx1030.ll
+20-0llvm/lib/Target/AMDGPU/AMDGPU.td
+208-377 files not shown
+235-5913 files

FreeBSD/src 2d20de9usr.sbin/nfsuserd nfsuserd.c

nfsuserd.c: Fix handling where pw_name/gr_name differ from lookup name

When an NSS backend returns a canonical pw_name or gr_name that differs from
the lookup name supplied by the NFSv4 upcall, nfsuserd stores the successful
mapping in the kernel cache under the canonical name instead of the requested
name.

This causes the retry lookup performed by nfsv4_strtouid() or
nfsv4_strtogid() to miss the newly inserted cache entry, resulting in the
default UID/GID being returned although the NSS lookup itself succeeded.

PR:     296753

(cherry picked from commit 1771ab245c2341033f0cee3bd098c76888cf3515)
DeltaFile
+4-2usr.sbin/nfsuserd/nfsuserd.c
+4-21 files

FreeBSD/src 45198c6usr.sbin/nfsuserd nfsuserd.c

nfsuserd.c: Fix handling where pw_name/gr_name differ from lookup name

When an NSS backend returns a canonical pw_name or gr_name that differs from
the lookup name supplied by the NFSv4 upcall, nfsuserd stores the successful
mapping in the kernel cache under the canonical name instead of the requested
name.

This causes the retry lookup performed by nfsv4_strtouid() or
nfsv4_strtogid() to miss the newly inserted cache entry, resulting in the
default UID/GID being returned although the NSS lookup itself succeeded.

PR:     296753

(cherry picked from commit 1771ab245c2341033f0cee3bd098c76888cf3515)
DeltaFile
+4-2usr.sbin/nfsuserd/nfsuserd.c
+4-21 files

LLVM/project c5e0153llvm/lib/CodeGen/SelectionDAG TargetLowering.cpp, llvm/test/CodeGen/X86 arbitrary-fp-to-half.ll

[SelectionDAG] Fix FP8 conversions to half for subnormals and overflow

Preserve subnormal values when the source format and destination have the
same exponent bias. Normalizing these inputs previously produced a
nonpositive destination exponent and an invalid floating-point encoding.

Convert finite values beyond the destination exponent range to infinity,
while preserving the existing NaN handling. This fixes Float8E5M3FNU to
half conversions that previously produced NaNs on overflow.

Add scalar and vector coverage for subnormals, signed zeros, normal
boundaries, all seven overflowing E5M3FNU encodings, and NaNs.
DeltaFile
+208-0llvm/test/CodeGen/X86/arbitrary-fp-to-half.ll
+16-3llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
+224-32 files

OpenBSD/ports FdrrUBcx11/qt6/qtwebengine Makefile, x11/qt6/qtwebengine/patches patch-src_3rdparty_chromium_v8_src_wasm_stacks_cc

   allocated WebAssembly stack memory with MAP_STACK

   Sync with www/chromium/patches (from kirill@)
VersionDeltaFile
1.1+28-0x11/qt6/qtwebengine/patches/patch-src_3rdparty_chromium_v8_src_wasm_stacks_cc
1.49+1-0x11/qt6/qtwebengine/Makefile
+29-02 files

LLVM/project 5dcdaa7clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/CodeGen var-arg-vector.c var-arg-int128.c

[CIR] Give the x86-64 va_arg loads their real alignment

Also addresses the remaining review comments.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+105-50clang/test/CIR/CodeGen/var-arg-aggregate.c
+33-13clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+18-11clang/test/CIR/CodeGen/var_arg.c
+18-10clang/test/CIR/CodeGen/var-arg-direct-offset.cpp
+9-6clang/test/CIR/CodeGen/var-arg-int128.c
+7-4clang/test/CIR/CodeGen/var-arg-vector.c
+190-942 files not shown
+194-988 files

OpenBSD/src sVBt5hHregress/usr.sbin/relayd Makefile, regress/usr.sbin/relayd/configs examples_relayd.conf

   relayd-regress: Add syntax config checks

   Start with the config from /etc/examples/relayd.conf (with keypair syntax)
VersionDeltaFile
1.1+115-0regress/usr.sbin/relayd/configs/examples_relayd.conf
1.27+14-1regress/usr.sbin/relayd/Makefile
+129-12 files

FreeBSD/ports d6938acnet-im/iamb Makefile Makefile.crates, net-im/iamb/files patch-rust-1.94.0

net-im/iamb: Update to 0.0.12

- Remove already upstreamed patch.

PR:             298062
DeltaFile
+957-819net-im/iamb/distinfo
+477-408net-im/iamb/Makefile.crates
+0-21net-im/iamb/files/patch-rust-1.94.0
+1-2net-im/iamb/Makefile
+1,435-1,2504 files

FreeBSD/src 5cb9699. Makefile.in configure, admin config.sub ltmain.sh

kyua: import kyua-0.15.0-beta1

This change adds kyua kyua-0.15.0-beta1 from [upstream][1].

The kyua-0.15.0-beta1 artifact was been verified by [SHA256 checksum][3].

This change contains a number of new features and bugfixes, as well as
the official upstreaming of several features previously committed to the
FreeBSD src tree.

More information about the release (from a high level) can be found in
the [release notes][4].

Updated via [`update_kyua.sh`][4] `update_kyua.sh 0.15.0-beta1 kyua-0.15.0`.

1: https://github.com/freebsd/kyua/releases/download/kyua-0.15.0-beta1/kyua-0.15.0-beta1.tar.gz
2: https://github.com/freebsd/kyua/releases/download/kyua-0.15.0-beta1/kyua-0.15.0-beta1.tar.gz.sha256
3: https://github.com/freebsd/kyua/blob/kyua-0.15.0-beta1/NEWS.md
4: https://codeberg.org/ngie/freebsd-powertools:shell/update_kyua.sh@10a04edb
DeltaFile
+24,484-0configure
+11,524-0admin/ltmain.sh
+11,024-0Makefile.in
+8,488-0m4/libtool.m4
+2,907-0bootstrap/testsuite
+1,802-0admin/config.sub
+60,229-0193 files not shown
+73,499-2,207199 files