LLVM/project 9f7af28llvm/lib/Target/LoongArch LoongArchInstrInfo.td LoongArchExpandPseudoInsts.cpp, llvm/lib/Target/LoongArch/AsmParser LoongArchAsmParser.cpp

[llvm][LoongArch] Add call and tail macro instruction support (#175357)

Link:
https://sourceware.org/pipermail/binutils/2025-December/146091.html
DeltaFile
+43-14llvm/test/MC/LoongArch/Macros/macros-call.s
+21-15llvm/lib/Target/LoongArch/LoongArchInstrInfo.td
+21-10llvm/lib/Target/LoongArch/LoongArchExpandPseudoInsts.cpp
+7-0llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
+2-2llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
+1-2llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
+95-432 files not shown
+97-458 files

FreeNAS/freenas c0b56e4src/middlewared/middlewared/common/listen __init__.py

Standardize repr output for listen delegates
DeltaFile
+1-1src/middlewared/middlewared/common/listen/__init__.py
+1-11 files

LLVM/project 0ad931bllvm/test/Transforms/LoopVectorize tripcount.ll

[NFC] use UTC for LoopVectorize/tripcount.ll
DeltaFile
+213-29llvm/test/Transforms/LoopVectorize/tripcount.ll
+213-291 files

LLVM/project fc34923llvm/lib/Transforms/Vectorize VPlan.cpp LoopVectorize.cpp, llvm/test/Transforms/LoopVectorize tripcount.ll

capture weights
DeltaFile
+23-6llvm/lib/Transforms/Vectorize/VPlan.cpp
+9-6llvm/test/Transforms/LoopVectorize/tripcount.ll
+2-0llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+34-123 files

LLVM/project 0f24d0flldb/source/Plugins/Language/CPlusPlus LibStdcppTuple.cpp, lldb/unittests/Language/CPlusPlus LibStdcppTupleTest.cpp CMakeLists.txt

[lldb] Fix null pointer crash in LibStdcppTupleSyntheticFrontEnd::Update (#175700)

When displaying a backtrace with std::tuple function arguments,
GetChildAtIndex() can return a null ValueObjectSP. The code was
dereferencing this pointer without checking for null, causing a SIGSEGV
crash when LLDB tried to pretty-print function arguments containing
tuples.


This PR fix the crash and add unit test which would crash before this PR
and only pass after this PR.

---------

Co-authored-by: George Hu <georgehuyubo at gmail.com>
Co-authored-by: Jonas Devlieghere <jonas at devlieghere.com>
DeltaFile
+167-0lldb/unittests/Language/CPlusPlus/LibStdcppTupleTest.cpp
+4-0lldb/unittests/Language/CPlusPlus/CMakeLists.txt
+2-0lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
+173-03 files

LLVM/project 8fa680bllvm/include/llvm/CodeGen MachineFunction.h, llvm/lib/CodeGen MachineInstr.cpp

[win][aarch64] Called globals must match for instructions to be considered identical (#175798)

When trying to enable AArch64 Import Call Optimization for Windows, we
noticed an issue where a call to an incorrect function was happening
after the loader replaced a branch instruction. The root cause of this
was that LLVM had decided to fold two branch instructions into one as
they were both branches to the same register, however the value of the
register would be different in either path as they were branches for
different imported functions.

This change updates `MachineInstr::isIdenticalTo` to also consider any
"called global" that is attached to the instruction, and will consider
two instructions as "not the same" if the globals differ.

Also fixed a possible source of non-determinism: switched from using a
`DenseMap` to using a `vector` for mapping sections to lists of called
globals (we don't expect many sections, so no need to use a map) and
sort the map by section name before emitting.
DeltaFile
+53-16llvm/test/CodeGen/AArch64/win-import-call-optimization.ll
+16-3llvm/lib/CodeGen/MachineInstr.cpp
+1-1llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
+2-0llvm/include/llvm/CodeGen/MachineFunction.h
+72-204 files

LLVM/project 02984cfclang/lib/CIR/CodeGen CIRGenExprScalar.cpp, clang/lib/CIR/Dialect/Transforms CIRCanonicalize.cpp

[CIR] Attempt to fold casts and unary ops during codegen (#175675)

This change introduces basic folding of casts and unary ops as they are
created this is needed in order to allow later codegen pieces, such as
builtin handlers, to more easily identify and examine constant operands.
For example, many X86 builtin functions use a default mask operand of
-1, which was previously generated as a constant 1 and a unary minus.

In some cases, the folding process leaves behind unused constant
operations, so I am also added a simple change to the canonicalize pass
to remove unused constants. We had other places where unused constants
were being generated already, and this change cleans those up too.
DeltaFile
+259-0clang/test/CIR/CodeGen/fold-during-cg.c
+0-13clang/test/CIR/CodeGen/new.cpp
+5-5clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+0-6clang/test/CIR/CodeGenBuiltins/X86/avx512f-builtins.c
+1-1clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
+0-1clang/test/CIR/CodeGen/binassign.c
+265-262 files not shown
+265-288 files

LLVM/project 9cb2254llvm/docs AMDGPUUsage.rst, llvm/test/CodeGen/AMDGPU global-atomicrmw-fadd.ll memory-legalizer-flat-system.ll

[AMDGPU] Update gfx1250 memory model for global acquire/release

Inserts required waits around GLOBAL_INV/GLOBAL_WBINV for
agent scope and above.
DeltaFile
+464-41llvm/docs/AMDGPUUsage.rst
+224-0llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
+184-18llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
+184-18llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
+182-18llvm/test/CodeGen/AMDGPU/memory-legalizer-private-agent.ll
+170-18llvm/test/CodeGen/AMDGPU/memory-legalizer-private-system.ll
+1,408-11314 files not shown
+2,057-16320 files

LLVM/project 4a8ecccmlir/lib/Dialect/XeGPU/Transforms XeGPUBlocking.cpp, mlir/test/Dialect/XeGPU xegpu-blocking.mlir

[MLIR][XeGPU] Pass inst_data for blocking create/constant Mask and Step op (#175456)

DeltaFile
+53-0mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
+2-1mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
+55-12 files

LLVM/project 64430b4clang/test/CodeGenCXX pragma-gcc-unroll.cpp pragma-unroll.cpp

[clang][CodeGenCXX] Fix pragma unroll test patterns (NFC) (#175860)

These tests were not testing the loop metadata that they suggest to be
testing. They would define FileCheck variables such as `UNROLL_8` for
metadata nodes and then later redefine instead of use them (redefinition
always succeeds and thus checks nothing). The error was likely
introduced because the earlier loop metadata nodes, which must define
the variables at the first occurrence, were copy-pasted for later loop
metadata nodes, without realizing that the variable definitions in the
FileCheck pattern must be changed to uses to match later occurrences of
the same metadata node. By matching the metadata section with a block of
DAG patterns, we can define variables such as `UNROLL_8` with a pattern
that matches at the metadata node definition, even if it occurs later,
and the loop metadata nodes can be matched with uniform patterns. This
system is also used in the `pragma-loop.cpp` test.
DeltaFile
+18-15clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
+18-15clang/test/CodeGenCXX/pragma-unroll.cpp
+36-302 files

OpenZFS/src 765929cinclude/sys ddt.h, module/zfs ddt.c

DDT: Add locking for table ZAP destruction

Similar to BRT, DDT ZAP can be destroyed by sync context when it
becomes empty.  Respectively similar to BRT introduce RW-lock to
protect open context methods from the destruction.

Reviewed-by: Brian Behlendorf <behlendorf1 at llnl.gov>
Signed-off-by: Alexander Motin <alexander.motin at TrueNAS.com>
Closes #18115
DeltaFile
+76-23module/zfs/ddt.c
+3-0include/sys/ddt.h
+79-232 files

OpenBSD/ports 0tGgCb3devel/spidermonkey140 distinfo Makefile

   Update to spidermonkey140-140.7.0.
VersionDeltaFile
1.4+2-2devel/spidermonkey140/distinfo
1.4+1-1devel/spidermonkey140/Makefile
+3-32 files

FreeBSD/ports 0dcb56esysutils/terraform-switcher distinfo Makefile

sysutils/terraform-switcher: Update to 1.13.0

ChangeLog:
https://github.com/warrensbox/terraform-switcher/releases/tag/v1.13.0
DeltaFile
+5-5sysutils/terraform-switcher/distinfo
+1-2sysutils/terraform-switcher/Makefile
+6-72 files

OpenBSD/ports U9cSZLctextproc/unicode/cldr distinfo Makefile

   Update to unicode-cldr-48.1.
VersionDeltaFile
1.8+2-2textproc/unicode/cldr/distinfo
1.9+1-1textproc/unicode/cldr/Makefile
+3-32 files

OpenBSD/ports NGiTVYssysutils/opentofu distinfo Makefile

   Update to opentofu-1.11.3.
VersionDeltaFile
1.36+2-2sysutils/opentofu/distinfo
1.36+1-1sysutils/opentofu/Makefile
+3-32 files

LLVM/project 93c9d54mlir/include/mlir/Dialect/ArmSME/IR ArmSMEIntrinsicOps.td, mlir/test/Target/LLVMIR arm-sme.mlir

fixup! [AArch64][llvm] Improve codegen for svldr_vnum_za/svstr_vnum_za

Fix MLIR tests
DeltaFile
+2-1mlir/test/Target/LLVMIR/arm-sme.mlir
+1-1mlir/include/mlir/Dialect/ArmSME/IR/ArmSMEIntrinsicOps.td
+3-22 files

LLVM/project fcf83c0clang/lib/CodeGen/TargetBuiltins ARM.cpp, clang/test/CodeGen/AArch64/sme-intrinsics acle_sme_str.c acle_sme_ldr.c

[AArch64][llvm] Improve codegen for svldr_vnum_za/svstr_vnum_za

When compiling `svldr_vnum_za` or `svstr_vnum_za`, the output
assembly has a superfluous `SXTW` instruction (gcc doesn't add
this); this should be excised, see https://godbolt.org/z/sz4s79rf8

In clang we're using int64_t, and `i32` in llvm. The extra `SXTW`
is due to a call to `DAG.getNode(ISD::SIGN_EXTEND...)`. Make them
both 64bit to make the extra `SXTW` go away.
DeltaFile
+56-62llvm/test/CodeGen/AArch64/sme-intrinsics-stores.ll
+56-62llvm/test/CodeGen/AArch64/sme-intrinsics-loads.ll
+8-8llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+5-6clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_str.c
+5-6clang/test/CodeGen/AArch64/sme-intrinsics/acle_sme_ldr.c
+2-2clang/lib/CodeGen/TargetBuiltins/ARM.cpp
+132-1461 files not shown
+133-1477 files

OpenBSD/ports iQSFs8fnet/telepathy/folks distinfo Makefile, net/telepathy/folks/pkg PLIST

   Update to folks-0.15.12.
VersionDeltaFile
1.50+2-2net/telepathy/folks/distinfo
1.135+1-2net/telepathy/folks/Makefile
1.34+2-0net/telepathy/folks/pkg/PLIST
+5-43 files

LLVM/project feeb934clang-tools-extra Maintainers.rst

[clang-tools-extra] Update Maintainers for Clang-Doc (#175822)

Currently, Erick Velez has been doing the bulk of clang-doc development.
We're also moving one of the old maintainers that hasn't participated in
almost a year to inactive.
DeltaFile
+3-2clang-tools-extra/Maintainers.rst
+3-21 files

OpenBSD/ports VO69dDHsysutils/terragrunt distinfo Makefile

   Update to terragrunt-0.97.2.
VersionDeltaFile
1.379+2-2sysutils/terragrunt/distinfo
1.386+1-1sysutils/terragrunt/Makefile
+3-32 files

LLVM/project b2c7e73llvm/include/llvm/ADT STLForwardCompat.h, llvm/include/llvm/Support Compiler.h

[ADT] Hide no_unique_address behind a macro (#175841)

This attribute was introduced in C++20 and not available across all compilers.
DeltaFile
+8-0llvm/include/llvm/Support/Compiler.h
+2-2llvm/include/llvm/ADT/STLForwardCompat.h
+10-22 files

OpenBSD/ports p9x792Esysutils/exoscale-cli distinfo Makefile

   Update to exoscale-cli-1.90.1.
VersionDeltaFile
1.141+2-2sysutils/exoscale-cli/distinfo
1.144+1-1sysutils/exoscale-cli/Makefile
+3-32 files

FreeBSD/ports e08d818www/katana distinfo Makefile

www/katana: Update to 1.4.0

ChangeLog:
https://github.com/projectdiscovery/katana/releases/tag/v1.4.0
DeltaFile
+5-5www/katana/distinfo
+1-1www/katana/Makefile
+6-62 files

NetBSD/src O5GCW3Kusr.sbin/npf/npfctl npf.conf.5

   npf.conf(5): a few more markup fixes
VersionDeltaFile
1.106+13-6usr.sbin/npf/npfctl/npf.conf.5
+13-61 files

OpenBSD/ports vDU7XeWnet/upterm distinfo modules.inc

   Update to upterm 0.21.1.
VersionDeltaFile
1.2+110-98net/upterm/distinfo
1.2+39-31net/upterm/modules.inc
1.2+1-1net/upterm/Makefile
+150-1303 files

FreeNAS/freenas b000718src/middlewared/middlewared main.py

Set default asyncio executor to shared IO thread pool

This commit sets the event loop's default executor to the existing IO thread pool, preventing asyncio.to_thread() from creating a separate thread pool.
DeltaFile
+1-0src/middlewared/middlewared/main.py
+1-01 files

NetBSD/src JL4SwwVusr.sbin/npf/npfctl npf.conf.5

   npf.conf(5): no reason to use artisanal -width
VersionDeltaFile
1.105+15-12usr.sbin/npf/npfctl/npf.conf.5
+15-121 files

FreeBSD/src 38f941dsys/x86/include intr_machdep.h, sys/x86/x86 intr_machdep.c

x86: Add intr_enable_src()

Function to enable specific IRQ source.

This will be used by the s2idle code to enable just SCIs on x86 to break
the CPU out of idle.

Reviewed by:    olce
Approved by:    olce
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D48734
DeltaFile
+9-0sys/x86/x86/intr_machdep.c
+1-0sys/x86/include/intr_machdep.h
+10-02 files

FreeBSD/src 7669cbdsys/dev/acpica acpi.c

acpi: Suspend-to-idle support (s2idle)

Implement STYPE_SUSPEND_TO_IDLE sleep type added in c43473dc9b83
("sys/power: Generic sleep types").

This is a prerequisite for the firmware to enter the S0ix states. When
suspending to idle, the system stays in an ACPI S0 state, but the CPUs
are idled and devices are suspended/resumed before and after this as
they would be when entering any other sleep type (except for AWAKE and
POWEROFF).

Factor out do_standby, do_sleep, and add a new do_idle function for
idling the CPU (a future patch will make this an idle loop and not just
a simple cpu_idle() call). In do_idle, SCIs (interrupt 9) are enabled to
allow wake events to break the CPU out of idle.

Record all the steps made instead of just the last one in slp_state,
which allows for more flexible unwinding (will be useful to not have to
goto breakout if the SPMC entry call fails when that is committed).

    [10 lines not shown]
DeltaFile
+185-93sys/dev/acpica/acpi.c
+185-931 files

OpenBSD/ports daK4Q9Harchivers/libarchive Makefile distinfo, archivers/libarchive/patches patch-Makefile_in patch-libarchive_archive_read_disk_posix_c

   archivers/libarchive: update to 3.8.5
VersionDeltaFile
1.8+30-24archivers/libarchive/patches/patch-Makefile_in
1.68+2-2archivers/libarchive/Makefile
1.48+2-2archivers/libarchive/distinfo
1.2+0-0archivers/libarchive/patches/patch-libarchive_archive_read_disk_posix_c
1.2+0-0archivers/libarchive/patches/patch-libarchive_archive_read_support_format_mtree_c
1.4+0-0archivers/libarchive/patches/patch-libarchive_archive_write_disk_posix_c
+34-286 files