HardenedBSD/ports a7b5c45devel/uv Makefile.crates distinfo, misc/py-litellm Makefile.crates distinfo

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+201-0www/nginx-module-vod/pkg-plist
+65-69devel/uv/distinfo
+31-33devel/uv/Makefile.crates
+45-13misc/py-litellm/distinfo
+36-0www/nginx-module-vod/Makefile
+21-5misc/py-litellm/Makefile.crates
+399-12037 files not shown
+566-20143 files

FreeBSD/ports a2decf7www/freenginx distinfo Makefile, www/nginx distinfo Makefile

www/{nginx,nginx-devel,freenginx}: 3rd-party modules management

Use the new www/nginx-module-vod source port instead of fetching
nginx-vod-module from GitHub.

Sponsored by:   Netzkommune GmbH
DeltaFile
+6-1www/nginx/Makefile
+6-1www/nginx-devel/Makefile
+6-1www/freenginx/Makefile
+1-3www/nginx/distinfo
+1-3www/nginx-devel/distinfo
+1-3www/freenginx/distinfo
+21-123 files not shown
+27-159 files

HardenedBSD/ports a2decf7www/freenginx distinfo Makefile, www/nginx distinfo Makefile

www/{nginx,nginx-devel,freenginx}: 3rd-party modules management

Use the new www/nginx-module-vod source port instead of fetching
nginx-vod-module from GitHub.

Sponsored by:   Netzkommune GmbH
DeltaFile
+6-1www/nginx/Makefile
+6-1www/nginx-devel/Makefile
+6-1www/freenginx/Makefile
+1-3www/nginx/distinfo
+1-3www/nginx-devel/distinfo
+1-3www/freenginx/distinfo
+21-123 files not shown
+27-159 files

HardenedBSD/ports 30645c9www Makefile, www/nginx-module-vod distinfo pkg-descr

www/nginx-module-vod: Add New Port

The vod module repackages MP4 files on the fly, so that a single set of
files on disk can be served as HLS, DASH, MSS or HDS without transcoding.
This port installs the module sources only, the module itself is built by
the nginx ports.

Sponsored by:   Netzkommune GmbH
DeltaFile
+201-0www/nginx-module-vod/pkg-plist
+36-0www/nginx-module-vod/Makefile
+15-0www/nginx-module-vod/files/pkg-message.in
+12-0www/nginx-module-vod/pkg-descr
+3-0www/nginx-module-vod/distinfo
+1-0www/Makefile
+268-06 files

FreeBSD/ports 30645c9www Makefile, www/nginx-module-vod distinfo pkg-descr

www/nginx-module-vod: Add New Port

The vod module repackages MP4 files on the fly, so that a single set of
files on disk can be served as HLS, DASH, MSS or HDS without transcoding.
This port installs the module sources only, the module itself is built by
the nginx ports.

Sponsored by:   Netzkommune GmbH
DeltaFile
+201-0www/nginx-module-vod/pkg-plist
+36-0www/nginx-module-vod/Makefile
+15-0www/nginx-module-vod/files/pkg-message.in
+12-0www/nginx-module-vod/pkg-descr
+3-0www/nginx-module-vod/distinfo
+1-0www/Makefile
+268-06 files

LLVM/project c8fdb5forc-rt/include/orc-rt/bedrock/sps SimpleRemoteCA.h, orc-rt/lib/bedrock/sps SimpleRemoteCA.cpp

[orc-rt] SimpleRemoteCA updates for out-of-band error results (#223916)

Executor-side counterpart to #223378: adds ResultKind, the discriminator
a result message's tag field now carries, so that out-of-band errors can
travel as results despite having no byte representation of their own.

encodeResult and decodeResult own the encoding. handleMessage rejects a
tag that does not name a known kind, ending the session as an
unrecognized opcode does; a payload that will not decode is not fatal,
and comes back as an out-of-band error describing itself.

Nothing sends a non-zero kind yet -- SocketSimpleRemoteCA will, when it
frames a result. SimpleRemoteCATest covers the round-trips and both
malformed cases.
DeltaFile
+74-0orc-rt/test/unit/bedrock/sps/SimpleRemoteCATest.cpp
+49-8orc-rt/lib/bedrock/sps/SimpleRemoteCA.cpp
+29-3orc-rt/include/orc-rt/bedrock/sps/SimpleRemoteCA.h
+152-113 files

HardenedBSD/ports ab8ffc9devel/libibuddy distinfo Makefile

devel/libibuddy: update v0.0.2 -> v0.0.3

Changelog: https://github.com/rosorio/libibuddy/releases/tag/v0.0.3

Update cmake_minimum_required to 3.10
Update Makefile to make linters happy

PR:             298526
Reported by:    arrowd
DeltaFile
+7-4devel/libibuddy/Makefile
+3-3devel/libibuddy/distinfo
+10-72 files

FreeBSD/ports ab8ffc9devel/libibuddy distinfo Makefile

devel/libibuddy: update v0.0.2 -> v0.0.3

Changelog: https://github.com/rosorio/libibuddy/releases/tag/v0.0.3

Update cmake_minimum_required to 3.10
Update Makefile to make linters happy

PR:             298526
Reported by:    arrowd
DeltaFile
+7-4devel/libibuddy/Makefile
+3-3devel/libibuddy/distinfo
+10-72 files

LLVM/project 8628857lldb/source/Plugins/Platform CMakeLists.txt, lldb/source/Plugins/Platform/Emscripten CMakeLists.txt PlatformEmscripten.h

[lldb] Add PlatformEmscripten (#223200)

This follows #223169, where I introduced `HostInfoEmscripten`.

While getting libLLDB and its SB API working in the browser, I initially used `PlatformLinux` as the host platform under Emscripten. That was enough for the first experiment, but Emscripten is not really Linux and we shouldn't keep inheriting Linux-specific behavior going forward.

This patch introduces a separate `PlatformEmscripten`, based on `PlatformPOSIX`, and makes it the host platform when LLDB itself is running under Emscripten.

For now, it:

- reports the Emscripten host architecture;
- supports `wasm32` and `wasm64` Emscripten targets;
- moves Emscripten host initialization out of `PlatformLinux`;
- does not claim that live process debugging works yet.

`PlatformWasm` remains separate. My understanding is that `PlatformEmscripten` describes the environment in which LLDB itself is running, while `PlatformWasm` describes the WebAssembly program being
debugged.

I am keeping this patch small on purpose. Browser-specific launching, attachment and live execution can be added separately once we connect LLDB to an actual in-browser execution backend.

I added a small test confirming that an Emscripten triple selects this platform, and also compiled the new plugin source successfully with Emscripten 6.0.8.
DeltaFile
+80-0lldb/source/Plugins/Platform/Emscripten/PlatformEmscripten.cpp
+50-0lldb/source/Plugins/Platform/Emscripten/PlatformEmscripten.h
+18-0lldb/unittests/Platform/PlatformEmscriptenTest.cpp
+9-0lldb/source/Plugins/Platform/Emscripten/CMakeLists.txt
+2-0lldb/unittests/Platform/CMakeLists.txt
+1-0lldb/source/Plugins/Platform/CMakeLists.txt
+160-06 files

LLVM/project dedfd0ellvm/lib/Target/SPIRV SPIRVPreLegalizer.cpp, llvm/test/CodeGen/SPIRV/llvm-intrinsics ctpop.ll cttz.ll

[SPIR-V] Fix bit count intrinsics on narrow integer types (#223358)

Widening i24 to i32 relabels the type without clearing the high bits, so
ctlz, cttz and ctpop counted them too
DeltaFile
+131-28llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
+63-1llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctlz.ll
+44-2llvm/test/CodeGen/SPIRV/llvm-intrinsics/cttz.ll
+44-0llvm/test/CodeGen/SPIRV/llvm-intrinsics/ctpop.ll
+282-314 files

LLVM/project b27d9d2llvm/tools/llvm-jitlink/llvm-jitlink-executor llvm-jitlink-executor.cpp

[llvm-jitlink] Fix a memory leak in llvm-jitlink-executor. (#223904)

In openListener, use a scope_exit to call freeaddrinfo on the struct
allocated by getaddrinfo.

No testcase: We have no in-tree tests for llvm-jitlink-executor. This
bug was found by inspection.
DeltaFile
+2-0llvm/tools/llvm-jitlink/llvm-jitlink-executor/llvm-jitlink-executor.cpp
+2-01 files

LLVM/project 78bbf22lldb/include/lldb/Host HostInfo.h, lldb/include/lldb/Host/emscripten HostInfoEmscripten.h

[lldb] Add HostInfoEmscripten (#223169)

Emscripten currently selects `HostInfoLinux`. That was useful as an initial bootstrap, but it also introduces Linux-specific assumptions such as `/proc/self/exe`, invoking `lsb_releas`e through `popen`, and
Linux-specific architecture handling.

This patch introduces a small `HostInfoEmscripten` implementation derived from `HostInfoPosix` and selects it when LLDB is built with Emscripten.

The implementation intentionally remains minimal. A browser-hosted LLDB process does not currently have a meaningful native executable path, so `GetProgramFileSpec()` returns an empty FileSpec.

A dedicated PlatformEmscripten and browser-specific process behavior will be handled separately so this change remains atomic !
DeltaFile
+29-0lldb/include/lldb/Host/emscripten/HostInfoEmscripten.h
+17-0lldb/source/Host/emscripten/HostInfoEmscripten.cpp
+4-2lldb/source/Host/CMakeLists.txt
+4-1lldb/include/lldb/Host/HostInfo.h
+54-34 files

LLVM/project df997d2llvm/lib/Target/RISCV RISCVRegisterInfo.td, llvm/lib/Target/RISCV/Disassembler RISCVDisassembler.cpp

[RISCV] Add DecodeSingleRegister template class to replace DecodeSPRegisterClass and similar. (#223889)

This can avoid adding more explicitly written decode functions for
https://github.com/llvm/llvm-project/pull/177073
DeltaFile
+16-30llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
+3-0llvm/lib/Target/RISCV/RISCVRegisterInfo.td
+19-302 files

LLVM/project af0b251llvm/test/Transforms/LoopVectorize/AArch64 early_exit_costs.ll

Fix early_exit_costs.ll test
DeltaFile
+2-2llvm/test/Transforms/LoopVectorize/AArch64/early_exit_costs.ll
+2-21 files

LLVM/project 7694dc0llvm/test/Transforms/LoopVectorize predicated-early-exits-interleave.ll predicated-multiple-exits.ll

[VPlan] Use frozen combined condition in early exit first-active-lane

Combined is used both to compute if an early exit was taken via VPInstruction::AnyOf, as well as the index of the early-exited lane in VPInstruction::FirstActiveLane.

Combined can have poison lanes past the exited lane, so the AnyOf uses freeze to prevent branching on poison. However FirstActiveLane on a vector with a poison lane is poison, so we need to also use the frozen version of Combined to prevent poison there.
DeltaFile
+32-32llvm/test/Transforms/LoopVectorize/single-early-exit-interleave.ll
+24-24llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
+14-14llvm/test/Transforms/LoopVectorize/multiple-early-exits.ll
+12-12llvm/test/Transforms/LoopVectorize/single-early-exit-deref-assumptions.ll
+10-10llvm/test/Transforms/LoopVectorize/predicated-multiple-exits.ll
+6-6llvm/test/Transforms/LoopVectorize/predicated-early-exits-interleave.ll
+98-9817 files not shown
+144-14223 files

LLVM/project e5ef5dbllvm/lib/Transforms/Vectorize VPlanConstruction.cpp, llvm/test/Transforms/LoopVectorize single-early-exit-anyof-fold.ll

Remove FIXME
DeltaFile
+3-6llvm/test/Transforms/LoopVectorize/single-early-exit-anyof-fold.ll
+1-1llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+4-72 files

LLVM/project 1a2c10dllvm/test/Transforms/LoopVectorize fmin-without-fast-math-flags.ll epilog-vectorization-fmaxnum-reductions.ll, llvm/test/Transforms/LoopVectorize/AArch64 fmax-without-fast-math-flags.ll

Remove VPInstruction::usesFirstLaneOnly change

InstCombine will canonicalize this anyway https://godbolt.org/z/r7PsGxh6G
DeltaFile
+66-29llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags.ll
+51-24llvm/test/Transforms/LoopVectorize/fcmp-uno-fold-interleave.ll
+43-20llvm/test/Transforms/LoopVectorize/fmax-without-fast-math-flags-interleave.ll
+42-20llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
+33-15llvm/test/Transforms/LoopVectorize/epilog-vectorization-fmaxnum-reductions.ll
+22-10llvm/test/Transforms/LoopVectorize/fmin-without-fast-math-flags.ll
+257-1183 files not shown
+290-1409 files

LLVM/project f7a2602llvm/test/Transforms/LoopVectorize single-early-exit-anyof-fold.ll

Precommit test
DeltaFile
+54-0llvm/test/Transforms/LoopVectorize/single-early-exit-anyof-fold.ll
+54-01 files

LLVM/project c6daf9dllvm/lib/Transforms/Vectorize VPlan.h VPlanTransforms.cpp

Update comments
DeltaFile
+2-1llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlan.h
+3-22 files

LLVM/project 416183cllvm/test/Transforms/LoopVectorize fcmp-uno-fold-interleave.ll, llvm/test/Transforms/LoopVectorize/AArch64 fmax-without-fast-math-flags.ll cmp_cost.ll

[VPlan] Fix VPInstruction::AnyOf combine undoing freeze

There is an any-of combine for unrolled VPlans which does:

    any-of (fcmp uno A, A), (fcmp uno B, B), ...-> any-of (fcmp uno A, B)

However any-of implicitly freezes each individual operand and this means we go from `freeze (fcmp uno A, A)` to `freeze (fcmp uno A, B)` which isn't sound: alive2.llvm.org/ce/z/UdQM7C

This causes miscompiles today with early exit loops, see the attached test case in single-early-exit-anyof-fold.ll.

This fixes it by explicitly modelling the freeze in VPlan. There are three places where we use AnyOf:

1) early exit loops: the freeze needs to be applied per-lane, so apply it to `(any-of (freeze (combined-conds-to-exit)))`
2) handleMaxMinNumReductions: If any lane of the reduction was poison in the scalar loop, the final result will be poison. We only need to freeze the result of AnyOf to prevent immediate UB when branching. Freezing individual operands blocks the any-of combine otherwise.
3) handleFindLastReductions: we need to freeze Cond itself since it's got multiple uses, but I plan on fixing this in a separate PR
DeltaFile
+51-48llvm/test/Transforms/LoopVectorize/AArch64/cmp_cost.ll
+32-36llvm/test/Transforms/LoopVectorize/fcmp-uno-fold-interleave.ll
+35-31llvm/test/Transforms/LoopVectorize/VPlan/conditional-scalar-assignment-vplan.ll
+28-32llvm/test/Transforms/LoopVectorize/AArch64/fmax-without-fast-math-flags.ll
+31-27llvm/test/Transforms/LoopVectorize/VPlan/interleave-conditional-scalar-assignment-vplan.ll
+30-27llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
+207-20120 files not shown
+380-35426 files

LLVM/project f33740cllvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize tail_fold_uncountable_exits.ll early_exit_with_stores.ll

Don't unwrap the freeze, copy it over in side effect early exit loops
DeltaFile
+27-27llvm/test/Transforms/LoopVectorize/VPlan/early_exit_with_stores_vplan.ll
+12-12llvm/test/Transforms/LoopVectorize/early_exit_with_stores.ll
+8-8llvm/test/Transforms/LoopVectorize/RISCV/early_exit_with_stores.ll
+8-8llvm/test/Transforms/LoopVectorize/AArch64/early_exit_with_stores.ll
+6-6llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+2-2llvm/test/Transforms/LoopVectorize/tail_fold_uncountable_exits.ll
+63-632 files not shown
+67-678 files

LLVM/project bf89dd2llvm/lib/Transforms/Vectorize LoopVectorize.cpp VPlanUtils.cpp

[VPlan] Rename createScalarFreeze -> createFreeze. NFC (#223648)

It works for vector operands too. We can also use it in
preparePlanForMainVectorLoop
DeltaFile
+3-3llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+2-2llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+2-2llvm/lib/Transforms/Vectorize/VPlanLowering.cpp
+1-2llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+8-94 files

HardenedBSD/ports 5fc8b8cdevel/py-uv Makefile distinfo, devel/py-uv-build distinfo

devel/{py-,}uv{-build}: Update to 0.12.15

PR:             298441
Approved by:    yuri (maintainer)
DeltaFile
+65-69devel/uv/distinfo
+31-33devel/uv/Makefile.crates
+4-4devel/py-uv/files/patch-pyproject.toml
+3-3devel/py-uv/distinfo
+3-3devel/py-uv-build/distinfo
+2-2devel/py-uv/Makefile
+108-1142 files not shown
+110-1178 files

FreeBSD/ports 5fc8b8cdevel/py-uv Makefile distinfo, devel/py-uv-build distinfo

devel/{py-,}uv{-build}: Update to 0.12.15

PR:             298441
Approved by:    yuri (maintainer)
DeltaFile
+65-69devel/uv/distinfo
+31-33devel/uv/Makefile.crates
+4-4devel/py-uv/files/patch-pyproject.toml
+3-3devel/py-uv/distinfo
+3-3devel/py-uv-build/distinfo
+2-2devel/py-uv/Makefile
+108-1142 files not shown
+110-1178 files

LLVM/project 83066e0llvm/docs NVPTXUsage.md, llvm/include/llvm/IR IntrinsicsNVVM.td

[LLVM][NVPTX] Add async bulk copy global to shared extensions (#222323)

This change adds following things to bulk copy intrinsics.
1. Relaxed memory ordering semantics with a scope argument.
2. Data-validity reporting patterns (introduced in Rubin).
3. 32-bit multicast mask for global to shared::cluster variants
(introduced in Rubin).
4. Ignore out of bound checks for global to shared::cta variants.

Note: MLIR lowering is updated to emit the new intrinsic signatures.
Support for the new features in MLIR will be done in a separate change.
DeltaFile
+166-71llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
+169-49llvm/docs/NVPTXUsage.md
+108-108mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_im2col.mlir
+72-72mlir/test/Target/LLVMIR/nvvm/tma_load_cluster_tile.mlir
+112-10llvm/lib/IR/AutoUpgrade.cpp
+73-19llvm/include/llvm/IR/IntrinsicsNVVM.td
+700-32923 files not shown
+1,269-41329 files

LLVM/project c7ddefdllvm/lib/Target/RISCV RISCVFeatures.td, llvm/test/MC/RISCV attribute-arch.s

[MC][RISCV] Make Zve32x a dependency of Zvabd (#223901)

The Zvabd specification defines Zve32x as a dependency. This commit
fixes the dependency problem in MC's implementation.

See:
https://github.com/riscv/integer-vector-absolute-difference/blob/0092c8451bb24b957d8358f261c0535ece88defb/src/unpriv/zvabd.adoc#L26
DeltaFile
+2-1llvm/lib/Target/RISCV/RISCVFeatures.td
+3-0llvm/test/MC/RISCV/attribute-arch.s
+5-12 files

OpenBSD/src wKVRzoausr.bin/ssh ssh-add.1 ssh-add.c

   bz3635 - ssh-add -P to skip PIN entry

   ok dtucker
VersionDeltaFile
1.189+19-12usr.bin/ssh/ssh-add.c
1.91+8-3usr.bin/ssh/ssh-add.1
+27-152 files

LLVM/project 00fbc3fllvm/test/Transforms/LoopVectorize/RISCV tail-folding-complex-mask.ll

Precommit test
DeltaFile
+163-0llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
+163-01 files

LLVM/project 2443554llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Remove (X && Y) | (X && !Y) -> X combine. NFC

We have smaller combines that can take care of this now that we process recipes in a worklist
DeltaFile
+1-8llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+1-81 files

LLVM/project 2595cb9llvm/lib/Transforms/Vectorize LoopVectorizationPlanner.h VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/RISCV tail-folding-complex-mask.ll

[VPlan] Append recipes created via builder to worklist

The previous PR appended the top most created recipe to the worklist, and this PR extends it to any other nested recipes that were created, similar to InstCombine.

This removes the header mask in a good few more places on RISC-V as measured on SPEC CPU 2017, e.g. for the following loop:

```c
long f(const int *p, const int *q, long n) {
  long a = 0, b = 0;
  for (long i = 0;; i++) {
    if (p[i] && q[i]) { a += i; b += i; }
    if (i + 1 == n) break;
  }
  return a + b;
}
```

Before:


    [49 lines not shown]
DeltaFile
+26-8llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+11-4llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
+5-7llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-complex-mask.ll
+42-193 files