databases/pgvector: Upgrade from 0.8.2 to 0.8.7
Changelog for each version:
0.8.7 (2026-10-01)
Fixed buffer overflow with IVFFlat index build
Fixed error with avg aggregate when no matching rows
0.8.6 (2026-07-29)
Fixed buffer overflow with IVFFlat index build on 32-bit systems
Fixed array to sparsevec cast not limiting non-zero elements
Fixed memory usage for IVFFlat index scans with nested loop joins
0.8.5 (2026-07-08)
Reduced memory usage for small tables for IVFFlat index builds
[14 lines not shown]
[NFC][Target] Simplify checking target arch (#229312)
Simplify checking target arch to use `isArch()` helpers rather than the
`getArch() == Triple::arch` idiom.
Similar to #157412.
Attributor: Use NullPointerIsDefined for null nocapture check
Previously this did not try to respect the null_pointer_is_valid attribute.
Query NullPointerIsDefined with the anchor scope, matching the handling in
AANoAlias::isImpliedByIR.
Note: a valid null passed to a capturing callee still gets noalias at the
call site. AANoAliasCallSiteArgument queries IRPosition::value() of the
constant, which has no anchor scope, so null_pointer_is_valid is not
consulted there.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
[SelectionDAG] Handle constants zero-folding in SimplifyMultipleUseDemandedBits (#224882)
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.
Use middleware:27 CI image on stable/27
This commit adds changes to run CI in the ghcr.io/truenas/middleware:27 image, as the :26 image is no longer rebuilt and is stale for stable/27.
ggml: update to 0.26.0.
ggml v0.26.0 brings a new alloc_buffer_n/get_alloc_size_n buffer
allocation API, sparse flash attention kernels on SYCL, Vulkan and
Metal, and major lightning indexer improvements (halved score
memory, tiling, MUSA support). The CPU backend gains BF16 ops and
a tiled k-quant mul_mat, CUDA gains a model-driven W4A4 (NVFP4/MXFP4)
mul_mat path plus MMVQ shared-expert fusion, and the Hexagon backend
adds a sampler and more quant types. Model loading is faster with
stricter GGUF size validation, Windows ARM64 MSVC builds are enabled,
and WebGPU/OpenVINO/OpenCL/SYCL pick up numerous new kernels, ops
and fixes.
AArch64: Error on unsupported calls with no arguments (#229319)
This was calling CCAssignFnForCall inside the loop over arguments instead of
once for the function, so it would skip the error if the function had no
arguments. Instead of checking IsFixed, change the logic to mirror what
LowerFormalArguments does.
Also required adding a calling convention definition for anyregcc to avoid
breaking patchpoint tests. These happened to work before because the assignment
function was never looked up for calls without arguments.
[CIR][SPIR-V] Emit non-generic null pointers via generic null cast (#228559)
Match classic codegen so targets with nonzero null in non-generic
address spaces can lower null correctly
AArch64/GlobalISel: Drop redundant IMPLICIT_DEFs before the ptrauth pseudos (#227217)
MOVaddrPAC, LOADgotPAC, AUTPAC and AUTx16x17 all fully define X16/X17; none of
them read X17, and the only X16 read is the one the surrounding code sets up with a COPY.
Co-authored-by: Claude Opus 5 <noreply at anthropic.com>
[NFC][clang][Serialization] Fix std::set_difference sorting mismatch in ASTReader (#219053)
Fixes a `std::set_difference` sorting violation in
`ASTReader::checkTargetOptions` that causes a crash when building clang
with `LLVM_ENABLE_EXPENSIVE_CHECKS` on libstdc++.
`accumulateFeaturesAsWritten` sorts target features using a custom
comparator that strips the `+`/`-` prefix (i.e. comparing `A.substr(1) <
B.substr(1)`). However, `std::set_difference` was being called with the
default `std::string::operator<` comparator, which does not match the
sorting order because `+` (ASCII 0x2B) is less than `-` (ASCII 0x2D).
For example, `["-cx16", "+sse2"]` is correctly sorted according to the
custom comparator, but incorrectly sorted according to the default
lexicographical comparator.
This patch fixes the issue by passing the same custom comparator used
for sorting to both `std::set_difference` calls.
Fixes #219046.
[2 lines not shown]
[ARM] fix `r14` aliasing `lr` on `thumb-1` (#225746)
Since https://github.com/llvm/llvm-project/pull/179740 `r14` is accepted
as an alias for `lr`, which works on `arm` and `thumb-2` targets, but
not on `thumb-1`
https://godbolt.org/z/WEEjMMj93
```llvm
; -mtriple=thumbv6m-none-eabi
define i32 @read_r14() nounwind {
start:
%1 = tail call i32 asm sideeffect alignstack "", "=&{r14},~{cc},~{memory}"()
ret i32 %1
}
```
Gives
[14 lines not shown]
[Mips][MSA] Fix commutability of unordered comparisons (#228567)
Remove IsCommutable from FCULT_W/D and FCULE_W/D, whose predicates are
directional. Extend the existing floating-point comparison tests to
check that reversed comparisons produce separate results.
Fixes: #228422
(cherry picked from commit 321fea57c1adbbbca148789926a93afd90705e25)
[libc++][format] Don't leave the output buffer full after a bulk write (#226791)
__output_buffer::push_back writes a code unit before it makes room, so
the buffer must always have a free one. __copy, __transform and __fill
write in chunks of the available space and could end with the buffer
full. Formatting into a back_insert_iterator of a string, vector or
deque goes through a 256 code unit buffer, so an argument or fill whose
length is a multiple of 256, followed by a literal, wrote that literal
past the end of the buffer.
Make room in a full buffer at the end of these functions, as push_back
does.
Fixes #154670
(cherry picked from commit 372dc97670f7b3ce422dc26e5f626b2711426e8d)
[mlir][ArmNeon] `matmul-i8.mlir` to `pack-unpack-mmt4d-i8.mlir` + box comments (NFC) (#227872)
This PR renames `matmul-i8.mlir` to `pack-unpack-mmt4d-i8.mlir`,
matching the ArmSVE scheme, and adds the same box-comment format also
used in `pack-unpack-mmt4d-f32` (see #225063).
---------
Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
[NFC][TSan] Remove unnecessary ThreadRegistryLock in signal and mutex-held reports (#228812)
AddStack, AddMutex, and SetSigNum have never accessed thread_registry
(they only modify ScopedReport::rep_, and thr->mset belongs to the
current thread).
SignalUnsafeCall and ReportErrnoSpoiling only locked thread_registry
because c1a1517a3765 added CheckLocked() to ScopedReport's constructor
(and ReportMutexHeldWrongContext copied that pattern in #71568). Now
that #228614 moved ScopedReport construction out of ThreadRegistryLock
(and #228811 moved IsFiredSuppression before ScopedReport in
ReportErrnoSpoiling), nothing in these three functions requires
ThreadRegistryLock.
Assisted-by: Gemini