LLVM/project e8eb57allvm/lib/IR AutoUpgrade.cpp, llvm/test/Verifier issue176674.ll issue176674_1.ll

Revert "[AutoUpgrade] Prevent deletion of call if uses still exist (#177606)"

This reverts commit 3007e2f050bd36e5e8dab68a5c9abbfbf4561314.
DeltaFile
+25-40llvm/lib/IR/AutoUpgrade.cpp
+0-9llvm/test/Verifier/issue176674.ll
+0-9llvm/test/Verifier/issue176674_1.ll
+25-583 files

LLVM/project 627ea6bllvm/lib/Transforms/InstCombine InstCombineCalls.cpp, llvm/test/Transforms/InstCombine add-shl-mul-umax.ll

Fix profile metadata propagation for umax in InstCombine

Synthesize branch weights for select instructions created from umax intrinsics to satisfy profile verification requirements.
DeltaFile
+15-12llvm/test/Transforms/InstCombine/add-shl-mul-umax.ll
+19-0llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
+0-1llvm/utils/profcheck-xfail.txt
+34-133 files

FreeBSD/src 18d47c1contrib/netbsd-tests/lib/libc/rpc t_rpc.c, include/rpc clnt.h

rpc: correct resultproc_t's type

It takes exactly three arguments of known type.

Tweak the types of various resultproc_t functions to match the type (mostly
added const to struct pointers) allowing us to drop casts.

Effort:         CHERI upstreaming
Reviewed by:    vangyzen, glebius
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54941
DeltaFile
+5-3usr.bin/rpcinfo/rpcinfo.c
+5-3lib/libc/rpc/rpc_soc.c
+3-2contrib/netbsd-tests/lib/libc/rpc/t_rpc.c
+2-1include/rpc/clnt.h
+15-94 files

FreeBSD/src e236502include/rpc pmap_clnt.h, lib/libc/rpc rpc_soc.c

clnt_broadcast(3): fix eachresult argument type

The `eachresult` argument is documented to take a function pointer of
type:

        bool_t (*)(caddr_t, struct sockaddr_in *)

It was declared to take a resultproc_t which has historically been
declared to be:

        bool_t (*resultproc_t)(caddr_t, ...);

This overlapped well enough for currently supported ABIs where variadic
arguments are passed in registers, but this declaration is misaligned
with the documentation (resultproc_t takes three arguments) and will be
fixed in a followup commit.

Fix the type to be non-variadic, matching callbacks, and define a
convenience type of as most callbacks take something other than a char *

    [6 lines not shown]
DeltaFile
+3-2lib/libc/rpc/rpc_soc.c
+3-1include/rpc/pmap_clnt.h
+2-2usr.sbin/bootparamd/callbootd/callbootd.c
+1-1usr.sbin/ypbind/ypbind.c
+1-1usr.bin/rup/rup.c
+1-1usr.bin/rusers/rusers.c
+11-86 files

FreeBSD/src 47413f2lib/libc/rpc rpc_soc.c

clnt_broadcast(3): don't free function pointers

Replace use of thr_getspecific/thr_setspecific to stash the function
pointer we're smuggling between clnt_broadcast and rpc_wrap_bcast with a
simple thread local variable.  Clear it after use so the reference
doesn't linger.

In the relatively unlikely event clnt_broadcast was called from threads
that exited prior to program termination, the previous code called free
on a function pointer, which is undefined and might corrupted allocator
state.

Effort:         CHERI upstreaming
Reviewed by:    glebius, jhb
Sponsored by:   DARPA, AFRL
Differential Revision:  https://reviews.freebsd.org/D54939
DeltaFile
+10-25lib/libc/rpc/rpc_soc.c
+10-251 files

LLVM/project 84ef35bclang/lib/CodeGen CGHLSLBuiltins.cpp CGHLSLRuntime.h

[HLSL][Codegen][NFC] Simplify intrinsic picking (#179300)

A pattern developed to do WaveActive intrinsics in their own helpers
because some wave intrinsics on spirv lack a signed\unsigned variant.

In the case of Min and Max the variants exist on both DirectX and SPIRV.
That means we can do away with a specialized helper.
DeltaFile
+12-44clang/lib/CodeGen/CGHLSLBuiltins.cpp
+4-0clang/lib/CodeGen/CGHLSLRuntime.h
+16-442 files

LLVM/project 7b6f123libcxx/include/__iterator capacity_aware_iterator.h, libcxx/test/libcxx/iterators/capacity_aware_iter arithmetic.pass.cpp comparison.pass.cpp

[libc++] Implement a type-safe iterator for optional (#154239)

Create a new `__capacity_aware_iterator` iterator type which wraps an
existing iterator, takes its container as a template parameter, and
encodes the maximum amount of elements the container can hold. The main
objective is to prevent iterator mixups between different containers
(e.g. `vector`).
DeltaFile
+186-0libcxx/include/__iterator/capacity_aware_iterator.h
+165-0libcxx/test/libcxx/iterators/capacity_aware_iter/arithmetic.pass.cpp
+116-0libcxx/test/libcxx/iterators/capacity_aware_iter/comparison.pass.cpp
+100-0libcxx/test/std/utilities/optional/optional.iterator/compare.pass.cpp
+80-0libcxx/test/libcxx/iterators/capacity_aware_iter/dereference.pass.cpp
+63-0libcxx/test/libcxx/iterators/capacity_aware_iter/assert.pass.cpp
+710-09 files not shown
+913-715 files

LLVM/project 2a2dd17lld/MachO InputSection.cpp, lld/test/MachO arm64-branch-addend-stubs.s

[lld-macho] Fix branch relocations with addends to target actual function (#177430)

When a branch relocation has a non-zero addend (e.g., `bl _func+16`),
the linker was incorrectly computing `stub_address + addend` instead of
`function_address + addend`. This caused the branch to land in the wrong
location (past the stub section) rather than at the intended interior
point of the function.

The fix checks for non-zero addends on branch relocations and uses the
actual symbol VA in those cases. This makes sense semantically—branching
to an interior offset implies reliance on the original function's
layout, which an interposed replacement wouldn't preserve anyway.

Added test `arm64-branch-addend-stubs.s` that verifies the correct
behavior using `-flat_namespace` (which makes local symbols interposable
and thus routed through stubs).

[Assisted-by](https://t.ly/Dkjjk): Cursor IDE + claude-opus-4.5-high
DeltaFile
+80-0lld/test/MachO/arm64-branch-addend-stubs.s
+19-9lld/MachO/InputSection.cpp
+99-92 files

LLVM/project 55a5232llvm/include/llvm/CodeGen TargetLowering.h

[CodeGen] Remove legacy getTgtMemIntrinsic overload

It is now fully unused.

commit-id:028dd72d
DeltaFile
+1-19llvm/include/llvm/CodeGen/TargetLowering.h
+1-191 files

LLVM/project 8a444c4llvm/lib/Target/AMDGPU SIISelLowering.cpp, llvm/test/CodeGen/AMDGPU waitcnt-unscoped.ll memory-legalizer-lds-dma-volatile-and-nontemporal.ll

[AMDGPU] Return two MMOs for load-to-lds and store-from-lds intrinsics

Accurately represent both the load and the store part of those
intrinsics.

The test changes seem to be mostly fairly insignificant changes caused by
subtly different scheduler behavior.

commit-id:0269189c
DeltaFile
+61-51llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+3-4llvm/test/CodeGen/AMDGPU/waitcnt-unscoped.ll
+2-4llvm/test/CodeGen/AMDGPU/memory-legalizer-lds-dma-volatile-and-nontemporal.ll
+2-4llvm/test/CodeGen/AMDGPU/llvm.amdgcn.load.to.lds.ll
+68-634 files

LLVM/project 940398allvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/lib/Target/AMDGPU SIISelLowering.cpp

[CodeGen] Refactor targets to override the new getTgtMemIntrinsic overload (NFC)

This is a fairly mechanical change. Instead of returning true/false,
we either keep the Infos vector empty or push one entry.

commit-id:c7770af6
DeltaFile
+113-60llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
+78-59llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+40-21llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+36-22llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+36-22llvm/lib/Target/ARM/ARMISelLowering.cpp
+26-18llvm/lib/Target/X86/X86ISelLowering.cpp
+329-20216 files not shown
+411-27522 files

LLVM/project 55d1a79llvm/include/llvm/CodeGen SelectionDAGNodes.h TargetLowering.h, llvm/lib/CodeGen/GlobalISel IRTranslator.cpp

[CodeGen] Add getTgtMemIntrinsic overload for multiple memory operands (NFC)

There are target intrinsics that logically require two MMOs, such as
llvm.amdgcn.global.load.lds, which is a copy from global memory to LDS,
so there's both a load and a store to different addresses.

Add an overload of getTgtMemIntrinsic that produces intrinsic info in a
vector, and implement it in terms of the existing (now protected)
overload.

GlobalISel and SelectionDAG paths are updated to support multiple MMOs.
The main part of this change is supporting multiple MMOs in
MemIntrinsicNodes.

Converting the backends to using the new overload is a fairly mechanical step
that is done in a separate change in the hope that that allows reducing merging
pains during review and for downstreams. A later change will then enable
using multiple MMOs in AMDGPU.

commit-id:b4a924aa
DeltaFile
+86-32llvm/include/llvm/CodeGen/SelectionDAGNodes.h
+64-25llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+38-29llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+19-28llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+20-3llvm/include/llvm/CodeGen/TargetLowering.h
+17-3llvm/include/llvm/CodeGen/SelectionDAG.h
+244-1204 files not shown
+250-12410 files

LLVM/project 3007e2fllvm/lib/IR AutoUpgrade.cpp, llvm/test/Verifier issue176674.ll issue176674_1.ll

[AutoUpgrade] Prevent deletion of call if uses still exist (#177606)

The calls to the llvm.x86.sse2.pshuflw are being deleted due to invalid
vector type, even though uses still exist. Adding checks to prevent
deletion of call when uses still exist or even if eraseFromParent() is
called ensuring it is called after replaceAllUsesWith().

Fixes: #176674
DeltaFile
+40-25llvm/lib/IR/AutoUpgrade.cpp
+9-0llvm/test/Verifier/issue176674.ll
+9-0llvm/test/Verifier/issue176674_1.ll
+58-253 files

LLVM/project e0a9be9lldb/source/Expression IRInterpreter.cpp, lldb/test/API/commands/expression/ir-interpreter TestIRInterpreter.py

Reapply "[lldb] Add FP conversion instructions to IR interpreter" (#179022)

This reapplies #175292 with the fixed test. The original test used
integer types with different bit widths on different platforms.

----- Original message:

This allows expressions that use these conversions to be executed when
JIT is not available.
DeltaFile
+109-0lldb/test/API/commands/expression/ir-interpreter/TestIRInterpreter.py
+86-0lldb/source/Expression/IRInterpreter.cpp
+195-02 files

LLVM/project 911acc8utils/bazel/llvm-project-overlay/mlir BUILD.bazel

[Bazel] Fix Bazel build for 4f9843b (#179321)

Co-authored-by: Pranav Kant <prka at google.com>
DeltaFile
+0-31utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+0-311 files

LLVM/project 603dc53llvm/include/llvm/CodeGen SelectionDAGNodes.h, llvm/lib/CodeGen/SelectionDAG InstrEmitter.cpp

Add SDNodeFlag::NoConvergent
DeltaFile
+8-2llvm/include/llvm/CodeGen/SelectionDAGNodes.h
+3-0llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
+11-22 files

LLVM/project dd5f6d7llvm/lib/Target/RISCV RISCVInstrFormatsV.td

[RISCV] Split RISCVLSUMOP tablegen class for type safety. NFC

Since loads and stores have overlapping encodings we should have
different classes to make sure they stay separate.
DeltaFile
+14-10llvm/lib/Target/RISCV/RISCVInstrFormatsV.td
+14-101 files

NetBSD/src lQWzAEXsys/kern sys_sig.c, tests/lib/libc/sys t_sigtimedwait.c

   Pull up following revision(s) (requested by riastradh in ticket #2003):

        tests/lib/libc/sys/t_sigtimedwait.c: revision 1.3
        tests/lib/libc/sys/t_sigtimedwait.c: revision 1.4
        tests/lib/libc/sys/t_sigtimedwait.c: revision 1.5
        sys/kern/sys_sig.c: revision 1.59
        sys/kern/sys_sig.c: revision 1.60
        sys/kern/sys_sig.c: revision 1.61

   t_sigtimedwait: Spruce up and add tests for interruption by signal.

   PR standards/59586: sigwaitinfo() returns ECANCELED instead of EINTR
   - POSIX compliance violation


   sigtimedwait(2): Return EINTR, not ECANCELED.

   The return value ECANCELED was a vestige of the logic to implement
   sigtimedwait(2) in the SA (scheduler activations) era of NetBSD

    [38 lines not shown]
VersionDeltaFile
1.2.36.1+140-21tests/lib/libc/sys/t_sigtimedwait.c
1.47.4.5+44-12sys/kern/sys_sig.c
+184-332 files

FreeBSD/src dafba19contrib/less less.nro screen.c

MFV less v691

Relnotes:       yes
MFC after:      2 weeks
DeltaFile
+1,013-472contrib/less/less.nro
+337-149contrib/less/screen.c
+215-142contrib/less/lesskey.nro
+106-50contrib/less/mark.c
+80-56contrib/less/cmdbuf.c
+69-67contrib/less/option.c
+1,820-93643 files not shown
+2,654-1,38749 files

FreeBSD/ports 0610453devel/py-yamllint distinfo Makefile, devel/py-yamllint/files patch-pyproject.toml

devel/py-yamllint: update to 1.38.0

Add patches around our lack of a recent py-setuptools

Changes:        https://github.com/adrienverge/yamllint/blob/v1.38.0/CHANGELOG.rst
Reported by:    repology
DeltaFile
+20-0devel/py-yamllint/files/patch-pyproject.toml
+3-3devel/py-yamllint/distinfo
+1-1devel/py-yamllint/Makefile
+24-43 files

FreeBSD/src 69f5355. RELNOTES

RELNOTES:  Add entry for 7f54c65abc67
DeltaFile
+7-0RELNOTES
+7-01 files

NetBSD/src zDHwKJDdoc CHANGES-11.0

   Tickets #169 - #181
VersionDeltaFile
1.1.2.74+236-1doc/CHANGES-11.0
+236-11 files

NetBSD/src n1254KZtools/gcc gcc-version.mk

   Apply patch, requests by mrg in ticket #181:

        tools/gcc/gcc-version.mk        (apply patch)

   bump gcc version
VersionDeltaFile
1.28.2.1+2-5tools/gcc/gcc-version.mk
+2-51 files

FreeBSD/ports 6d3bb9bdevel/py-types-jsonschema distinfo Makefile, devel/py-types-jsonschema/files patch-pyproject.toml

textproc/py-rich: update to 14.3.2

Changes:        https://github.com/Textualize/rich/blob/v14.3.2/CHANGELOG.md
Reported by:    repology
DeltaFile
+3-3devel/py-types-jsonschema/distinfo
+2-2devel/py-types-jsonschema/files/patch-pyproject.toml
+1-1devel/py-types-jsonschema/Makefile
+6-63 files

FreeNAS/freenas 2f0b9edsrc/middlewared/middlewared/plugins/update_ utils.py, src/middlewared/middlewared/pytest/unit/plugins/update test_utils.py

NAS-139532 / 26.0.0-BETA.1 / Allow updates from 26.04 to 26.0.0 (#18120)

This has to be an exceptional cause, because with current update logic
26.0.0 is considered a lower version than 26.04
DeltaFile
+37-1src/middlewared/middlewared/plugins/update_/utils.py
+2-0src/middlewared/middlewared/pytest/unit/plugins/update/test_utils.py
+39-12 files

NetBSD/pkgsrc iSY49NPx11/ratmen Makefile

   ratmen: comment out dead site
VersionDeltaFile
1.7+3-3x11/ratmen/Makefile
+3-31 files

NetBSD/pkgsrc 30RpKn2net/ratman Makefile

   ratman: comment out dead site
VersionDeltaFile
1.14+3-3net/ratman/Makefile
+3-31 files

NetBSD/pkgsrc O4tKfdimbone/rat Makefile

   rat: comment out dead site
VersionDeltaFile
1.55+2-2mbone/rat/Makefile
+2-21 files

NetBSD/pkgsrc tjKkUTOtextproc/raptor2 Makefile

   raptor2: comment out dead site
VersionDeltaFile
1.59+3-3textproc/raptor2/Makefile
+3-31 files

NetBSD/pkgsrc Vx86Vq2devel/rapidsvn Makefile

   rapidsvn: update HOMEPAGE
VersionDeltaFile
1.144+3-3devel/rapidsvn/Makefile
+3-31 files