LLVM/project 3092b46llvm/lib/Target/RISCV RISCVInstrInfoXCV.td

[RISCV][MC] Mark the cv.insert is2 decoder as incomplete (#225574)

This commit addresses the post-commit review of
https://github.com/llvm/llvm-project/pull/225269
DeltaFile
+1-0llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
+1-01 files

LLVM/project 6c95a92llvm/lib/Transforms/Vectorize VPRecipeBuilder.h VPlanTransforms.h, llvm/test/Transforms/LoopVectorize cast-induction.ll

[LV] Narrow truncated inductions in a VPlan transform (#220730)

VPRecipeBuilder::tryToOptimizeInductionTruncate matched a truncate of an
induction phi on the underlying IR, and it built the narrowed
VPWidenIntOrFpInductionRecipe from the recipe behind the truncate's
operand.
VPlanTransforms already answers the same question on VPValues in
getOptimizableIVOf, which returns the header IV whether the operand is
the IV
itself or an add of the IV and its step.

Add VPlanTransforms::narrowInductionTruncates and do the match there,
reusing
getOptimizableIVOf and restricting it to the phi for now. The pass runs
right
after makeCallWideningDecisions, which preserves the ordering against
makeScalarizationDecisions that the recipe builder relied on. Building
the
recipe in the transform also removes the need for the conversion loop to

    [3 lines not shown]
DeltaFile
+63-0llvm/test/Transforms/LoopVectorize/cast-induction.ll
+61-0llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+6-49llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+9-0llvm/lib/Transforms/Vectorize/VPlanTransforms.h
+0-5llvm/lib/Transforms/Vectorize/VPRecipeBuilder.h
+1-0llvm/test/Transforms/LoopVectorize/VPlan/vplan-print-before-after-all.ll
+140-546 files

FreeBSD/ports c9f5032misc/py-litellm-proxy-extras Makefile distinfo

misc/py-litellm-proxy-extras: Update to 0.4.101

Reported by:    portscout
DeltaFile
+3-3misc/py-litellm-proxy-extras/distinfo
+1-1misc/py-litellm-proxy-extras/Makefile
+4-42 files

FreeBSD/ports 1f40117misc/py-litellm Makefile Makefile.crates, misc/py-litellm/files patch-pyproject.toml

misc/py-litellm: Update to 1.102.0

Changelog: https://github.com/BerriAI/litellm/releases/tag/v1.102.0

Reported by:    portscout
DeltaFile
+209-3misc/py-litellm/distinfo
+104-1misc/py-litellm/Makefile.crates
+4-2misc/py-litellm/Makefile
+1-1misc/py-litellm/files/patch-pyproject.toml
+318-74 files

LLVM/project 0eccf17clang/lib/Headers avx10v2auxintrin.h, clang/test/CodeGen/AArch64 neon-ldst-one.c

Merge branch 'main' into users/himadhith/refactor_strToNum_funcs
DeltaFile
+4,372-0clang/test/OpenMP/structured-bindings-codegen.cpp
+1,413-1,413clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
+1,403-1,403clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
+0-2,567clang/test/CodeGen/AArch64/neon-ldst-one.c
+2,403-0clang/lib/Headers/avx10v2auxintrin.h
+10,994-6,7861,931 files not shown
+109,353-52,3141,937 files

LLVM/project b47a631libc/fuzzing/__support CMakeLists.txt, libc/src/__support freestore.h block.h

[libc] Implement dual freestore rotation for baremetal heap (#209811)

Implement dual FreeStore rotation in FreeListHeap under
LIBC_COPT_BAREMETAL_HEAP_ENABLE_FREESTORE_ROTATION option for baremetal
targets.

- Allocations pull from active store; free() quarantines blocks into
non-active store (1 - active).
- On allocation failure in active store, rotate() flips active index and
migrates/coalesces quarantined blocks into the new active store.
- Added 2-bit prev_free tracking in BlockRef metadata to distinguish
freestore indices.
- Added unit smoke tests and updated fuzzer for dual freestore rotation.

Assisted-by: Gemini and Claude based automation tool (human-in-the-loop)

---------

Co-authored-by: Yifan Zhu <yfzhu at google.com>
Co-authored-by: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+108-39libc/src/__support/freelist_heap.h
+117-4libc/test/src/__support/freelist_heap_test.cpp
+48-15libc/src/__support/block.h
+38-4libc/src/__support/freestore.h
+18-0libc/test/src/__support/CMakeLists.txt
+14-0libc/fuzzing/__support/CMakeLists.txt
+343-626 files not shown
+373-6212 files

FreeBSD/ports 7673e97textproc/md4c Makefile distinfo

textproc/md4c: Update 0.5.3 => 0.6.0

Changelog:
https://github.com/mity/md4c/blob/v0.6.0/CHANGELOG.md

PR:             298778
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q3

(cherry picked from commit 4f7ef7d80fb16336273a2a09850fa4dbc5ff97ae)
DeltaFile
+3-3textproc/md4c/distinfo
+2-2textproc/md4c/Makefile
+5-52 files

FreeBSD/ports 4f7ef7dtextproc/md4c Makefile distinfo

textproc/md4c: Update 0.5.3 => 0.6.0

Changelog:
https://github.com/mity/md4c/blob/v0.6.0/CHANGELOG.md

PR:             298778
Sponsored by:   UNIS Labs (vvd, commit patch)
MFH:            2026Q3
DeltaFile
+3-3textproc/md4c/distinfo
+2-2textproc/md4c/Makefile
+5-52 files

LLVM/project ffeffcelldb/include/lldb/Target Process.h Target.h, lldb/include/lldb/Utility DataExtractor.h ConstString.h

[lldb] Consistently use "null-terminated" across LLDB (NFC) (#224801)

It appears that both spellings are correct, but "null terminator" is far
more common, while "NUL terminator" is technically precise regarding the
ASCII character name. Most common in LLDB was "NULL terminated" which is
the worst of both worlds. This rallies around "null-terminated".

- Adjective -> null-terminated
- Verb -> null-terminate
- Nouns left unhyphenated but lowercased: null terminator, null
termination
DeltaFile
+8-8lldb/unittests/Utility/DataEncoderTest.cpp
+8-8lldb/include/lldb/Utility/ConstString.h
+7-7lldb/include/lldb/Utility/DataExtractor.h
+6-7lldb/include/lldb/Target/Target.h
+6-6lldb/include/lldb/Target/Process.h
+5-5lldb/source/Utility/Stream.cpp
+40-4153 files not shown
+121-12359 files

LLVM/project 1f01cb4llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 narrowed-reduction-leaves-known-bits.ll

[SLP]Fix crash in bool bitmask reduction match after tree vectorization

The known bits of the narrowed reduction leaves were computed after the
tree vectorization, which drops the operands of the vectorized scalars,
so the analysis dereferenced null operands. Match the bitmask form before
the vectorization and pass the result to the emission.

Fixes #225538

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/225568
DeltaFile
+60-0llvm/test/Transforms/SLPVectorizer/X86/narrowed-reduction-leaves-known-bits.ll
+10-4llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+70-42 files

LLVM/project 182181cmlir/include/mlir/IR BuiltinTypeInterfaces.td

[mlir][NFC] Improve `ShapedTypeInterface` documentation (#225282)

Document that each dimension size must be not larger than "signed int64
max".

Related discussion:
https://discourse.llvm.org/t/rfc-vector-should-vector-transfer-read-transfer-write-indices-be-treated-as-unsigned-non-negative/91869/6
DeltaFile
+6-5mlir/include/mlir/IR/BuiltinTypeInterfaces.td
+6-51 files

LLVM/project febece3mlir/lib/Dialect/MemRef/IR MemRefOps.cpp, mlir/test/Dialect/MemRef invalid.mlir

[mlir][memref] Reject empty collapse_shape and expand_shape reassociation groups (#225348)

`memref.collapse_shape` and `memref.expand_shape` both accept an empty
reassociation group, which is not a valid reassociation: every group
must be a
non-empty, contiguous segment of dimensions.

* `memref.collapse_shape` with an empty group aborts the compiler for a
  non-identity source layout. `CollapseShapeOp::verify` forwards the
reassociation to `computeCollapsedLayoutMap`, which calls
`ArrayRef::back()`
  on each group and asserts on the empty one:

      mlir-opt: llvm/include/llvm/ADT/ArrayRef.h:151:
      const T& llvm::ArrayRef<T>::back() const [with T = long int]:
      Assertion `!empty()' failed.

  With an identity source layout the op is instead silently accepted.


    [18 lines not shown]
DeltaFile
+31-0mlir/test/Dialect/MemRef/invalid.mlir
+17-0mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
+48-02 files

LLVM/project 82ea1d2llvm/test/CodeGen/X86 no-split-size.ll 2008-04-16-ReMatBug.ll, llvm/test/CodeGen/X86/AMX amx-spill-merge.ll

[RegAlloc] [X86] Enable callee saved register optimization for x86 (#220090)

Enable callee saved register optimization implemented in
RAGreedy::tryAssignCSRFirstTime() for x86. It can replace save/restore
instructions in prologue/epilogue with register spill/reload in cold
blocks or register splits.

Spec cpu 2006 int result with fdo on skylake.
```
regalloc-csr-cost-scale                                 0     30

400.perlbench                                          42.0  42.7   
401.bzip2                                              25.5  26.3   
403.gcc                                                42.1  41.4   
429.mcf                                                45.0  44.4   
456.hmmer                                              38.2  38.2   
458.sjeng                                              32.3  32.0   
462.libquantum                                         68.0  68.9   
471.omnetpp                                            26.9  27.3   

    [5 lines not shown]
DeltaFile
+68-68llvm/test/CodeGen/X86/fptoui-sat-scalar.ll
+61-72llvm/test/CodeGen/X86/speculative-load-hardening.ll
+48-42llvm/test/CodeGen/X86/fptosi-sat-scalar.ll
+39-31llvm/test/CodeGen/X86/2008-04-16-ReMatBug.ll
+29-38llvm/test/CodeGen/X86/no-split-size.ll
+34-32llvm/test/CodeGen/X86/AMX/amx-spill-merge.ll
+279-28322 files not shown
+512-51928 files

LLVM/project 71122e7llvm/lib/CodeGen/SelectionDAG SelectionDAGDumper.cpp

[SelectionDAG] Add ISD::ARITH_FENCE to SelectionDAGDumper. (#225485)

We seem to have no consistency on CamelCase or snake_case in node
naming. I've gone with CamelCase to match the nearby nodes, but happy to
change.
DeltaFile
+1-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
+1-01 files

LLVM/project 838c705clang/docs ReleaseNotes.md, clang/lib/AST ExprConstant.cpp

[clang] Return early if a value dependent recovery init appeared in constant evaluation context in legacy constant evaluator (#225027)

A recovery default member initializer can be value-dependent even when
the expression referring to the variable is not. Clang should return
early to avoid crash.

This fix the issue found in
https://github.com/llvm/llvm-project/issues/185874#issuecomment-4058045596.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>
DeltaFile
+25-2clang/test/SemaCXX/recovery-expr-type.cpp
+15-7clang/lib/AST/ExprConstant.cpp
+3-0clang/docs/ReleaseNotes.md
+43-93 files

Illumos/gate 444f2eausr/src/test/header-tests/cfg c-symbols-env.cfg, usr/src/test/header-tests/cfg/c-symbols wchar_h.cfg

18447 header-tests ALL environment omits XPG3 and XPG4
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Dan McDonald <danmcd at oxidecomputer.com>
DeltaFile
+5-1usr/src/test/header-tests/cfg/c-symbols-env.cfg
+3-1usr/src/test/header-tests/cfg/c-symbols/wchar_h.cfg
+8-22 files

Illumos/gate ace296ausr/src/test/header-tests/cfg/c-symbols sys_timeb_h.cfg

18392 Fill in header-tests sys_timeb.h config
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Dan McDonald <danmcd at oxidecomputer.com>
DeltaFile
+10-4usr/src/test/header-tests/cfg/c-symbols/sys_timeb_h.cfg
+10-41 files

Illumos/gate 1fbbc3cusr/src/test/header-tests/cfg/c-symbols strings_h.cfg

18389 Fill in header-tests strings.h config
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Dan McDonald <danmcd at oxidecomputer.com>
DeltaFile
+36-4usr/src/test/header-tests/cfg/c-symbols/strings_h.cfg
+36-41 files

Illumos/gate 76e1647usr/src/test/header-tests/cfg c-symbols-env.cfg

18445 header test missing SUSv5 in some environments
Reviewed by: Robert Mustacchi <rm at fingolfin.org>
Reviewed by: Toomas Soome <tsoome at me.com>
Approved by: Dan McDonald <danmcd at oxidecomputer.com>
DeltaFile
+1-1usr/src/test/header-tests/cfg/c-symbols-env.cfg
+1-11 files

LLVM/project a3cba3cbolt/lib/Core DebugNames.cpp

Close a loose end for synthesized debug (anonymous namespace) strings that happen to be already in the main CU debug_str section.
DeltaFile
+4-7bolt/lib/Core/DebugNames.cpp
+4-71 files

LLVM/project c2b3813orc-rt/include/orc-rt/support bit.h

[orc-rt] Simplify bit.h countl_zero and bit_width (#225547)

The old countl_zero algorithm wasn't recognized / optimized by clang on
arm64 or x86-64. Switch to a simpler loop that clang recognizes and
rewrite bit_width in terms of countl_zero. NFCI.
DeltaFile
+8-19orc-rt/include/orc-rt/support/bit.h
+8-191 files

LLVM/project 1adcce1clang/lib/Driver/ToolChains CommonArgs.cpp, clang/test/Driver sanitize-trap-loop.c

[Driver] Link ubsan_loop_detect with --whole-archive (#225498)

`addSanitizerRuntimes` places sanitizer archives before user object
files on the linker command line.

Because `ubsan_loop_detect` was in `NonWholeStaticRuntimes` without `-u`
symbols, single-pass linkers like GNU `ld.bfd` discarded
`libclang_rt.ubsan_loop_detect.a` before seeing references to
`__ubsan_install_trap_loop_detection` or `__ubsan_is_trap_loop`. Move
`ubsan_loop_detect` to `StaticRuntimes` so it is linked with
`--whole-archive`.
DeltaFile
+1-1clang/test/Driver/sanitize-trap-loop.c
+1-1clang/lib/Driver/ToolChains/CommonArgs.cpp
+2-22 files

FreeBSD/ports 5ee9fc7devel/oci-cli Makefile distinfo

devel/oci-cli: Update 3.93.0 => 3.94.0

Changelog:
https://github.com/oracle/oci-cli/releases/tag/v3.94.0

PR:             298757
Sponsored by:   UNIS Labs (vvd, commit patch)
DeltaFile
+3-3devel/oci-cli/distinfo
+2-2devel/oci-cli/Makefile
+5-52 files

FreeBSD/ports 4801d1fdevel/py-oci Makefile distinfo

devel/py-oci: Update 2.186.0 => 2.187.0

Changelog:
https://github.com/oracle/oci-python-sdk/releases/tag/v2.187.0

PR:             298757
Sponsored by:   UNIS Labs (vvd, commit patch)
DeltaFile
+3-3devel/py-oci/distinfo
+1-1devel/py-oci/Makefile
+4-42 files

FreeNAS/freenas 4b76b02src/middlewared/middlewared/api/v27_0_0 pool_dataset.py, src/middlewared/middlewared/plugins/pool_ dataset.py

Point pool.dataset.update at zfs.resource.set

## Problem
`pool.dataset.update` carried its own copy of every ZFS policy check (ACL coupling, headroom, blocksize alignment, recordsize choices, dedup licensing, SMB/snapdev guards, LUN resyncs) and wrote through the raw `update_impl`, so the two write paths could drift and the pool path skipped whatever `zfs.resource.set` and its delegates enforce.

## Solution
Translate the pool payload into a `zfs.resource.set` request (lowercasing the index values the pool Literals uppercase, passing sizes and `copies` as ints, `quota: null` as 0, `INHERIT` and removed user properties as `inherit`) and let `zfs.resource.set` and its delegates validate and write. The update validation keeps only the field-shape rejections and the `user_properties_update` handling; everything else, the resyncs and the `ZFSException` mapping go.

When the shim itself already found errors, the request is run through `zfs.resource.set` as a `dry_run` so the caller still gets shim-side and zfs-side errors in one `ValidationErrors`. The request model is built inside the same `try`, so a value the zfs models reject comes back as a validation error rather than a raw pydantic one. Errors are re-keyed onto `pool_dataset_update.<field>`: the property's own field when the caller sent it, `acltype` for the derived `aclmode`/`aclinherit`, `volsize` for the re-reservation a volsize grow triggers, `user_properties_update`/`user_properties` for the caller's own user properties, and bare `pool_dataset_update` for anything structural.

Behaviour changes worth knowing: `copies` outside 1..3 and a negative `reservation` are now rejected; the recordsize and shrink messages come from the zfs rules; the ACL combination error lands on `acltype` rather than `aclmode`; a ZFS failure is keyed on `pool_dataset_update` instead of `pool.dataset.update`; the dRAID volblocksize check on update is gone, and `force_size` no longer bypasses the headroom check (its description says so). An empty payload still skips the write and emits CHANGED.
DeltaFile
+83-231src/middlewared/middlewared/plugins/pool_/dataset.py
+156-0tests/api2/test_pool_dataset_update_shim.py
+150-0src/middlewared/middlewared/pytest/unit/plugins/pool/test_dataset_update_shim.py
+8-0src/middlewared/middlewared/api/v27_0_0/pool_dataset.py
+1-1tests/sharing_protocols/nvmet/test_nvmet_tcp.py
+1-1tests/api2/test_draid_record_and_block_size.py
+399-2336 files

LLVM/project e02ef74llvm/lib/Target/RISCV RISCVISelLowering.cpp

fixup! Typo
DeltaFile
+1-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+1-11 files

LLVM/project 429bc4eclang/lib/CIR/CodeGen CIRGenCleanup.cpp CIRGenExprScalar.cpp, clang/test/CIR/CodeGen cleanup-conditional.cpp dtors.cpp

[CIR] Use cleanup active flag with logical operators (#225554)

When temporary expressions are created within a logical binary
operation, we need to use a "cleanup active" flag to guard any cleanups
that are created in the right-hand side of the expression because the
expression may short-circuit and not evaluate the RHS. Failure to do so
had been leading to destructors being called for objects that had never
been constructed.

This fix introduces a regression in destructor call ordering when both
sides of a logical operation create temporaries that require cleanup.
This is a known ordering bug that preceeded this PR but was incidentally
avoided by the previous incorrect handling. The orderig bug will be
fixed in a follow-up change.

Assisted-by: Cursor / various models
DeltaFile
+107-105clang/test/CIR/CodeGen/dtors.cpp
+86-0clang/test/CIR/CodeGen/cleanup-conditional.cpp
+8-2clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
+8-0clang/lib/CIR/CodeGen/CIRGenCleanup.cpp
+209-1074 files

LLVM/project 0ff5abdclang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp, clang/test/CIR/Lowering not.cir

[CIR] Fix 'cir.not' lowering behavior for >64 bit size (#225541)

We were only inverting the lower 64 bits because we used the
int64_t/uint64_t overload, which only filled in 64 bits. This patch
replaces that with a 'getAllOnes' of the right size.
DeltaFile
+33-0clang/test/CIR/Lowering/not.cir
+3-1clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+36-12 files

FreeNAS/freenas c00ad1asrc/middlewared/middlewared/plugins/pool_ dataset_encryption_info.py, src/middlewared/middlewared/pytest/unit/plugins/pool test_path_in_locked_datasets.py

Resolve snapshot names to their dataset in the locked-path check

## Problem
`pool.dataset.path_in_locked_datasets` opened the resource named by the path and read its `crypto()`; a snapshot-backed iSCSI extent, NVMe-oF namespace or VM disk (`zvol/<dataset>@<snap>`) therefore reached it with an `@` name, pylibzfs returned a snapshot object with no `crypto`, and the AttributeError escaped, so `iscsi.extent.create` on such an extent inserted its row and then crashed in `get_instance`, and every later extent query failed on the orphan.

## Solution
A snapshot holds no keys, so its lock state is its dataset's: strip the snapshot suffix before the parent walk, which also lets the ancestor-prefix check see the dataset. Pinned with a unit test over the three accepted path forms.
DeltaFile
+60-0src/middlewared/middlewared/pytest/unit/plugins/pool/test_path_in_locked_datasets.py
+3-0src/middlewared/middlewared/plugins/pool_/dataset_encryption_info.py
+63-02 files

LLVM/project 4c320dcclang/lib/CIR/Lowering/DirectToLLVM LowerToLLVM.cpp, clang/test/CIR/CodeGen nobuiltin-replaceable-allocation.cpp

[CIR] Lower nobuiltin attribute (#225545)

This causes a problem in tests for global allocation functions, but we
are not currently lowering the 'nobuiltin' attribute to LLVM-IR. This
patch adds the lowering.
DeltaFile
+25-0clang/test/CIR/CodeGen/nobuiltin-replaceable-allocation.cpp
+3-1clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
+28-12 files