LLVM/project 05bc41eclang/include/clang/CIR/Dialect/IR CIRDataLayout.h, clang/lib/CIR/Dialect/Transforms FlattenCFG.cpp

[CIR] Fix address space of dest cleanup slot (#222628)

Make sure that flatten cfg creates new allocas for dest cleanup slot in
correct address space. This is important for address-space aware targets
like amdgpu.
DeltaFile
+39-0clang/test/CIR/CodeGenHIP/cleanup-alloca-addrspace.hip
+9-0clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
+2-1clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
+50-13 files

LLVM/project 327153dlldb/cmake/modules FindLuaAndSwig.cmake FindCursesAndPanel.cmake

[lldb][cmake] Accept config-mode packages in add_optional_dependency (#222976)

`add_optional_dependency` copies the caller-supplied `<found>` variable
after `find_package`, and callers name the Find module's result
variable, which is usually all-caps (`LIBXML2_FOUND`, `CURSES_FOUND`). A
package located in config mode only sets `<PackageName>_FOUND`
(`LibXml2_FOUND`), so the copy comes back empty and the dependency is
reported as missing and silently disabled even though `find_package`
succeeded.

Set the result variable to TRUE when either `${found}` or
`${package}_FOUND` is set, FALSE otherwise.

Behavior for module-mode finds is unchanged; only the config-mode case,
which previously always evaluated to false, is affected.
DeltaFile
+10-10lldb/cmake/modules/LLDBConfig.cmake
+3-3lldb/cmake/modules/FindPythonAndSwig.cmake
+2-2lldb/cmake/modules/FindLuaAndSwig.cmake
+2-2lldb/cmake/modules/FindCursesAndPanel.cmake
+17-174 files

LLVM/project 43cb5e4llvm/include/llvm/Analysis IVDescriptors.h, llvm/lib/Analysis IVDescriptors.cpp

[IVDescriptors] Rename MonotonicDescriptor ConditionalInductionDescriptor (NFC) (#223707)

Rename `MonotonicDescriptor` to `ConditionalInductionDescriptor` to
acknowledge that the phi may wrap, so is not strictly monotonic.

Assisted-by: Codex
DeltaFile
+52-47llvm/unittests/Analysis/IVDescriptorsTest.cpp
+25-23llvm/include/llvm/Analysis/IVDescriptors.h
+12-12llvm/lib/Analysis/IVDescriptors.cpp
+89-823 files

NetBSD/pkgsrc Tirqa5wlang/gcc14 distinfo, lang/gcc14/patches patch-gcc_config_darwin-driver.cc

   gcc{14,15}: backport macOS 27 fix from upstream
VersionDeltaFile
1.2+52-11lang/gcc14/patches/patch-gcc_config_darwin-driver.cc
1.2+47-15lang/gcc15/patches/patch-gcc_config_darwin-driver.cc
1.8+2-2lang/gcc15/distinfo
1.8+2-2lang/gcc15/Makefile
1.8+2-2lang/gcc15-libs/Makefile
1.14+2-2lang/gcc14/distinfo
+107-342 files not shown
+111-388 files

LLVM/project d1e261elibc/test/src/stdfix FxDiviTest.h

[libc] Fix fxdivi tests on 32-bit targets (#223675)

Guard saturation operands against overflow and correct boundary
expectations for the range and precision of 32-bit long.

Fixes issue introduced in a969579a9129891bccb63fcc69e76d74b299f322.

Assisted-by: Codex. Entirely done by the AI and reviewed by me.
DeltaFile
+35-15libc/test/src/stdfix/FxDiviTest.h
+35-151 files

NetBSD/pkgsrc jt7a8Mddoc CHANGES-2026

   doc: Updated net/dnscontrol to 5.1.0
VersionDeltaFile
1.6118+2-1doc/CHANGES-2026
+2-11 files

NetBSD/pkgsrc dz2WD5qnet/dnscontrol Makefile go-modules.mk

   dnscontrol: Update to 5.1.0

   Changelog
   Provider-specific changes:
   f496a86: feat(p/CLOUDFLAREAPI): Normalize CF_WORKER_ROUTE TTL to avoid TTL-only corrections (#4871) (@cafferata)
   b35d0cb: fix(p/AUTODNS): clear the legacy "main" record on zone update (#4881) (@dkorunic)
   80299f7: fix(p/AUTODNS): send bare FQDN as MX value, not full RDATA (#4880) (@dkorunic)
   65fe80a: fix(p/AUTODNS): transmit an MX preference of 0 (#4882) (@dkorunic)
   aa20783: fix(p/CLOUDFLAREAPI): Preserve Single Redirect order. New redirects added to end of list. (#4869) (@KyleMit)
   c29831e: fix(p/CNR): offer the debug mode levels as a list in init (#4879) (@cafferata)
   df419c5: fix(p/DNSMADEEASY): ask the sandbox setting as a yes/no question in init (#4877) (@cafferata)
   72a18fd: fix(p/INWX): ask the sandbox setting as a yes/no question in init (#4876) (@cafferata)
   3b4078d: fix(p/TENCENTDNS): match package grades case-insensitively (#4884) (@Alice39s)
   Bug fixes:
   a32953c: fix: remove duplicate "(optional)" in init prompts and add ConfirmValue for yes/no fields (#4875) (@cafferata)
   CI/CD:
   05b5f9f: Build(deps): Bump joi from 18.2.3 to 18.2.9 (#4872) (@dependabot[bot])
   f66211b: ci: adopt conventional commits (#4873) (@TomOnTime)
   Other changes and improvements:
   3ae38d7: HOSTINGDE: Fix SOA mailbox with a host being dropped (#4866) (@jonathan8devs)
VersionDeltaFile
1.12+213-195net/dnscontrol/distinfo
1.13+70-64net/dnscontrol/go-modules.mk
1.48+1-1net/dnscontrol/Makefile
+284-2603 files

FreeBSD/ports f555765net/rdma-core distinfo Makefile

net/rdma-core: Update to 66.0
DeltaFile
+13-31net/rdma-core/pkg-plist
+4-3net/rdma-core/Makefile
+3-3net/rdma-core/distinfo
+20-373 files

LLVM/project 53ece97llvm/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 c51ffebllvm/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 b6bcf42llvm/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 87ea68ellvm/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 d2e9e5dllvm/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 be907e2llvm/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 5c58636llvm/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 49a71fallvm/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 c53000alibc/src/__support/OSUtil/linux/syscall_wrappers fchmodat.h, libc/src/sys/stat/linux CMakeLists.txt fchmodat.cpp

[libc] Reject unsupported flags in fchmodat with ENOTSUP (#223165)

### Summary
The Linux kernel's `SYS_fchmodat` system call only takes 3 arguments
(`dirfd`, `pathname`, `mode`), but our syscall wrapper was passing a 4th
`flags` argument that the kernel simply dropped.

This PR cleans up the wrapper to pass the 3 arguments expected by the
kernel, and adds a check to `fchmodat` to return `-1` with `ENOTSUP`
whenever non-zero flags (like `AT_SYMLINK_NOFOLLOW`) are passed.

Fixes #223072

### Changes
- Cleaned up `linux_syscalls::fchmodat` to pass only 3 arguments to
`SYS_fchmodat`.
- Added a check in `fchmodat` entrypoint to set `libc_errno = ENOTSUP`
and return `-1` if `flags != 0`.
- Added `libc.hdr.errno_macros` to the CMake dependencies for `fchmodat`

    [8 lines not shown]
DeltaFile
+10-0libc/test/src/sys/stat/fchmodat_test.cpp
+6-1libc/src/sys/stat/linux/fchmodat.cpp
+2-3libc/src/__support/OSUtil/linux/syscall_wrappers/fchmodat.h
+1-0libc/test/src/sys/stat/CMakeLists.txt
+1-0libc/src/sys/stat/linux/CMakeLists.txt
+20-45 files

LLVM/project 353ab07llvm/test/Transforms/AggressiveInstCombine trunc_illegal_type.ll

[test][AggressiveInstCombine] Test type legality handling in `TruncInstCombine` (NFC) (#222930)

I noticed that this block of code that checks type legality in
`TruncInstCombine::getMinBitWidth` is not tested:

```
else { // MinBitWidth == TruncBitWidth
  // In this case the expression can be evaluated with the trunc instruction
  // destination type, and trunc instruction can be omitted. However, we
  // should not perform the evaluation if the original type is a legal scalar
  // type and the target type is illegal.
  bool FromLegal = MinBitWidth == 1 || DL.isLegalInteger(OrigBitWidth);
  bool ToLegal = MinBitWidth == 1 || DL.isLegalInteger(MinBitWidth);
  if (!DstTy->isVectorTy() && FromLegal && !ToLegal)
    return OrigBitWidth;
}
```

This commit adds tests.
DeltaFile
+92-0llvm/test/Transforms/AggressiveInstCombine/trunc_illegal_type.ll
+92-01 files

FreeBSD/src acdb2cd. UPDATING, usr.sbin/mfiutil mfi_drive.c

mfiutil(8)/mrsasutil(8): display/parse enclosure by device ID (EID)

mfi_drive_name() built the "Exx:Syy" drive location string using
struct mfi_pd_info's encl_index field, the enclosure's firmware-
internal position index. Broadcom's own storcli/MegaCli tooling
instead leads with the enclosure's Device ID (EID) in its primary
drive listing; encl_index only shows up as "Position" in a detailed
per-enclosure view. Both numbers are raw, unmodified firmware values
already fetched into struct mfi_pd_info/mfi_pd_address, but only
encl_index was ever displayed or accepted as input, leading to
confusion when cross-referencing drive locations against storcli
output.

Switch mfi_drive_name() and mfi_lookup_drive() to use encl_device_id
instead, aligning FreeBSD's enclosure numbering with Broadcom's own
utilities. Since mrsasutil(8) is the same binary as mfiutil(8) under
a different name, this applies to both mfi(4) and mrsas(4) alike.

This is a user-visible behavior change: the numeric value of "xx" in

    [8 lines not shown]
DeltaFile
+7-8usr.sbin/mfiutil/mfi_drive.c
+9-0UPDATING
+16-82 files

LLVM/project f2615d5llvm/docs LangRef.md, llvm/lib/Analysis ConstantFolding.cpp

[IR][InstSimplify] Clarify poison elements in cttz.elts results in poison (#223935)

The generic expansion for cttz.elts in LegalizeVectorOps is

    (reduce.umax (select input, step_vector, 0))

Because reductions produce poison if any element is poison, this will
also produce poison.

ConstantFolding currently has short circuiting behaviour, e.g.
`cttz.elts <0, 1, poison, poison> -> 1`, but we should probably make
this consistent with reductions and just return poison. This updates
LangRef and ConstantFolding to be more explicit about this.
DeltaFile
+4-2llvm/tools/llubi/lib/Interpreter.cpp
+2-2llvm/test/Transforms/InstSimplify/ConstProp/cttz-elts.ll
+2-1llvm/lib/Analysis/ConstantFolding.cpp
+2-0llvm/test/tools/llubi/intr_experimental_vector.ll
+1-0llvm/docs/LangRef.md
+11-55 files

LLVM/project 59e8422clang/lib/StaticAnalyzer/Checkers/WebKit ASTUtils.cpp PtrTypesSemantics.h, clang/test/Analysis/Checkers/WebKit call-args-counted-unique-ptr.cpp call-args-checked-unique-ptr.cpp

[alpha.webkit.UncountedCallArgsChecker] Look through unique_ptr::get() when finding a pointer's origin (#223568)

Previously, the checker only looked through `operator->` and `operator*`
on `std::unique_ptr`, `UniqueRef` and `LazyUniqueRef` when walking a
call argument back to its origin. It didn't include `get()` and `ptr()`
on those types, which caused an unnecessary warning. This includes
`get()` and `ptr()` on those types such that they are recognized and are
consistent with ref-counted and checked pointers.
DeltaFile
+62-0clang/test/Analysis/Checkers/WebKit/call-args-counted-unique-ptr.cpp
+62-0clang/test/Analysis/Checkers/WebKit/call-args-checked-unique-ptr.cpp
+19-1clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
+7-0clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
+4-0clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
+154-15 files

LLVM/project 72e9411clang/lib/Interpreter Wasm.cpp

[clang-repl] Respect LLD's canRunAgain result (#223926)

Clang-Repl’s Wasm executor calls `lld::lldMain()` for every incremental
input, but currently ignores `Result.canRunAgain`.

Ordinary linker errors remain recoverable:

```text
retCode=1 canRunAgain=1
```

A fatal LLD error can instead return:

```text
retCode=1 canRunAgain=0
```

In that case, LLD’s state may no longer be safe. This patch follows
LLD’s standalone driver and calls `lld::exitLld()` rather than allowing

    [5 lines not shown]
DeltaFile
+6-0clang/lib/Interpreter/Wasm.cpp
+6-01 files

LLVM/project 52ae463clang/lib/Basic/Targets RISCV.cpp, clang/test/Preprocessor riscv-cf-protection-return.c

[Clang][RISCV] Loose the requirement of cf-protection=return to Zimop (#223671)
DeltaFile
+10-12clang/test/Preprocessor/riscv-cf-protection-return.c
+1-1clang/lib/Basic/Targets/RISCV.cpp
+11-132 files

FreeBSD/ports 3d75faemail/py-resend Makefile distinfo

mail/py-resend: Update to 2.46.0

Changelog: https://github.com/resend/resend-python/releases/tag/v2.46.0

Reported by:    portscout
DeltaFile
+3-3mail/py-resend/distinfo
+1-1mail/py-resend/Makefile
+4-42 files

LLVM/project 4126b9cclang/lib/AST/ByteCode Interp.h Compiler.cpp, clang/test/AST/ByteCode cxx14.cpp cxx26.cpp

[clang][bytecode] Use a special opcode for trivial defaulted copy/move operator calls (#222332)

The default code that clang synthesizes for them contains calls to
`__builtin_memcpy`, e.g. in

```
CXXMethodDecl 0x7d471ee7cc90 <array.cpp:1983:10> col:10 implicit used constexpr operator= 'array &(const array &) noexcept' inline default trivial external-linkage
|-ParmVarDecl 0x7d471ee7cdd0 <col:10> col:10 used 'const array &'
`-CompoundStmt 0x7d471ee7e340 <col:10>
  |-CallExpr 0x7d471ee7e268 <col:10> 'void *'
  | |-ImplicitCastExpr 0x7d471ee7e248 <col:10> 'void *(*)(void *, const void *, __size_t) noexcept' <BuiltinFnToFnPtr>
  | | `-DeclRefExpr 0x7d471ee7e160 <col:10> '<builtin fn type>' Function 0x7d471ee7de88 '__builtin_memcpy' 'void *(void *, const void *, __size_t) noexcept'
  | |-ImplicitCastExpr 0x7d471ee7e2b0 <col:10> 'void *' <BitCast>
  | | `-UnaryOperator 0x7d471ee7dd18 <col:10> 'int (*)[4]' prefix '&' cannot overflow
  | |   `-MemberExpr 0x7d471ee7dca0 <col:10> 'int[4]' lvalue ->_M_elems 0x7d471ee52780
  | |     `-CXXThisExpr 0x7d471ee7dc88 <col:10> 'array *' this
  | |-ImplicitCastExpr 0x7d471ee7e2d0 <col:10> 'const void *' <BitCast>
  | | `-UnaryOperator 0x7d471ee7db38 <col:10> 'const int (*)[4]' prefix '&' cannot overflow
  | |   `-MemberExpr 0x7d471ee7dac0 <col:10> 'const int[4]' lvalue ._M_elems 0x7d471ee52780

    [15 lines not shown]
DeltaFile
+66-8clang/lib/AST/ByteCode/Interp.cpp
+56-0clang/test/AST/ByteCode/cxx26.cpp
+29-16clang/lib/AST/ByteCode/InterpBuiltin.cpp
+39-3clang/lib/AST/ByteCode/Compiler.cpp
+9-20clang/lib/AST/ByteCode/Interp.h
+20-0clang/test/AST/ByteCode/cxx14.cpp
+219-476 files not shown
+253-5112 files

FreeBSD/ports 689b482misc/py-litellm-proxy-extras Makefile distinfo

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

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

OpenBSD/ports 3x8rSzpmail/pflogsumm Makefile distinfo

   update to pflogsumm-1.3.0
VersionDeltaFile
1.17+2-2mail/pflogsumm/distinfo
1.23+1-1mail/pflogsumm/Makefile
+3-32 files

OpenBSD/ports jgvVyMnwww/tomcat/v11 Makefile distinfo, www/tomcat/v11/pkg PLIST-examples

   update to tomcat-11.0.26
VersionDeltaFile
1.17.2.5+4-4www/tomcat/v11/distinfo
1.17.2.5+1-1www/tomcat/v11/Makefile
1.14.2.3+1-0www/tomcat/v11/pkg/PLIST-examples
+6-53 files

OpenBSD/ports LmCMwNuwww/tomcat/v11 Makefile distinfo, www/tomcat/v11/pkg PLIST-examples

   update to tomcat-11.0.26
VersionDeltaFile
1.22+4-4www/tomcat/v11/distinfo
1.22+1-1www/tomcat/v11/Makefile
1.17+1-0www/tomcat/v11/pkg/PLIST-examples
+6-53 files

OpenBSD/ports jigLfonwww/tomcat/v10 Makefile distinfo, www/tomcat/v10/pkg PLIST-examples

   update to tomcat-10.1.60
VersionDeltaFile
1.41.2.5+4-4www/tomcat/v10/distinfo
1.48.2.5+1-1www/tomcat/v10/Makefile
1.35.2.3+1-0www/tomcat/v10/pkg/PLIST-examples
+6-53 files