LLVM/project 74ca057clang/lib/Analysis/FlowSensitive/Models UncheckedOptionalAccessModel.cpp, clang/unittests/Analysis/FlowSensitive UncheckedOptionalAccessModelTest.cpp MockHeaders.cpp

[clang][dataflow] Fix bugprone-unchecked-optional-access for recent changes to libcxx (#188044)

Fix for https://github.com/llvm/llvm-project/issues/187788

- When checking the receiver with an UncheckedDerivedToBase cast, just
check each component of the chain if we've hit the public optional
class, rather than rely on public vs private/protected inheritance. This
covers the case when the class derives from optional.
- or check if the SubExpr of the cast is already the public optional
type (when not deriving from optional -- since you won't see this first
layer in the cast chain).

See comment about why there is public inheritance to a private base
class at the moment:

https://github.com/llvm/llvm-project/issues/187788#issuecomment-4106543794

The performance doesn't seem much different in several benchmarks.
Perhaps because we first see if the method name matches, which filters a

    [7 lines not shown]
DeltaFile
+50-49clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
+32-0clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp
+16-14clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
+98-633 files

LLVM/project d734eadclang-tools-extra/clang-tidy/bugprone PointerArithmeticOnPolymorphicObjectCheck.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Fix false positive in cert-ctr56-cpp (PointerArithmeticOnPolymorphicObjectCheck) (#187452)

## Summary
This change adds `unless(isInstantiationDependent())` to the
`ArraySubscript` matcher.

## Motivation
In template code, some array subscript expressions are not fully
resolved yet.
Because of this, the matcher may treat them incorrectly and produce
false positives.

## Change
This patch skips instantiation-dependent expressions in templates. 
It helps the matcher work only on resolved expressions.

Closes https://github.com/llvm/llvm-project/issues/187009.
DeltaFile
+12-0clang-tools-extra/test/clang-tidy/checkers/bugprone/pointer-arithmetic-on-polymorphic-object-all.cpp
+3-1clang-tools-extra/clang-tidy/bugprone/PointerArithmeticOnPolymorphicObjectCheck.cpp
+4-0clang-tools-extra/docs/ReleaseNotes.rst
+19-13 files

LLVM/project 79ae4c7llvm/lib/Object ELF.cpp

[Object] Normalize BBAddrMap decode address types in ELF (#187962)

This is part of patches to port BBAddrMap to COFF.

DataExtractor::getAddress reads 4 or 8 bytes according to AddressSize and
returns a uint64_t container value. This code path already sets AddressSize
from ELFT::Is64Bits and stores range/function addresses as uint64_t.

Replace temporary uintX_t/unsigned values in this decoder path with uint64_t
and remove the redundant cast from getAddress(). This preserves behavior for
ELF32/ELF64 inputs.

This is a preparatory step for extracting a format-agnostic BBAddrMap decoder.
DeltaFile
+8-8llvm/lib/Object/ELF.cpp
+8-81 files

LLVM/project 7fc3d6ellvm/include/llvm/ADT PointerUnion.h

[llvm][ADT] Refactor PointerUnion to use PunnedPointer. NFC. (#187950)

Replace `PointerIntPair`-based storage with raw `PunnedPointer<void*>`
and explicit tag encoding. The bit layout stay identical. Use constexpr
functions (`minBits`, `tagBits`, `tagShift`) whose bodies are only
instantiated when called, for incomplete-type compatibility

The goal is to prepare `PointerUnion` for future extension to support
variable-length encoding and allow for more variants than with simple
tags, which will require direct bit manipulation not possible with
`PointerIntPair`.

I benchmarked this with https://github.com/llvm/llvm-project/pull/187874
and the performance is identical on my system.

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply at anthropic.com>
DeltaFile
+144-123llvm/include/llvm/ADT/PointerUnion.h
+144-1231 files

NetBSD/src TZe7FiEsys/uvm uvm_pager.c

   uvm_aio_aiodone_pages: add a comment
VersionDeltaFile
1.134+11-1sys/uvm/uvm_pager.c
+11-11 files

FreeNAS/freenas c6e79e8tests/api2 test_420_smb.py

Fix SyntaxError in test__legacy_share_path_suffix_lowercase_vars

(cherry picked from commit 6dcb9a2fd85e8c45910c5cde3af6c055984fb10c)
DeltaFile
+1-1tests/api2/test_420_smb.py
+1-11 files

NetBSD/src FoCe5Xlsys/kern subr_autoconf.c

   config_attach_pseudo/config_attach_pseudo: assert kernel lock

   as commented in the code, whese functions are inherently
   mp-unsafe and only usable with the kernel lock held.
VersionDeltaFile
1.319+5-2sys/kern/subr_autoconf.c
+5-21 files

LLVM/project 6a8a100compiler-rt/cmake base-config-ix.cmake

[compiler-rt] Error only if sanitizer builds are enabled (#187944)

This fix is to error out only if sanitizer builds are enabled as opposed
to forcing flang to use an option or install the development package.
DeltaFile
+6-5compiler-rt/cmake/base-config-ix.cmake
+6-51 files

LLVM/project 0e5e434mlir/lib/Dialect/Affine/IR AffineOps.cpp, mlir/test/Dialect/Affine ops.mlir

[affine] Support xori/maxnumf/minnumf reduction types. (#184450)

This is a follow-up on #163310, which supported the above reduction
kinds, but did not update affine.parallel verification code.
DeltaFile
+40-0mlir/test/Dialect/Affine/ops.mlir
+4-4mlir/lib/Dialect/Affine/IR/AffineOps.cpp
+44-42 files

LLVM/project c21bf86clang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp

fix global builder ordering
DeltaFile
+8-7clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+8-71 files

NetBSD/pkgsrc-wip 3c80e2f. Makefile, wlopm Makefile distinfo

Import wlopm
DeltaFile
+29-0wlopm/Makefile
+26-0wlopm/patches/patch-Makefile
+6-0wlopm/distinfo
+4-0wlopm/PLIST
+3-0wlopm/DESCR
+1-0Makefile
+69-06 files

LLVM/project 99a4d78libclc/clc/include/clc/integer gentype.inc, libclc/clc/include/clc/math gentype.inc

[libclc][NFC] Simplify __CLC_GENTYPE/__CLC_U_GENTYPE/__CLC_S_GENTYPE define in gentype.inc (#188027)

Reduce macro re-definition overhead.
DeltaFile
+40-288libclc/clc/include/clc/integer/gentype.inc
+4-36libclc/clc/include/clc/math/gentype.inc
+44-3242 files

LLVM/project 5624ccellvm/lib/Target/AMDGPU AMDGPUPromoteAlloca.cpp, llvm/test/CodeGen/AMDGPU promote-alloca-delay-value-replacement.ll

AMDGPU: Delay value replacement in PromoteAlloca (#186944)

When we do alloca promotion, there might be cross references to the
values derived from different allocas. RAUW immediately during promotion
may fail to update the values cached in the AllocaAnalysis structure.

Solving the problem by postpone the value replacement, and also the
value deletion as well to make this possible.
DeltaFile
+62-39llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
+30-0llvm/test/CodeGen/AMDGPU/promote-alloca-delay-value-replacement.ll
+92-392 files

OpenBSD/ports KPdmSSztextproc/libuninameslist Makefile distinfo

   Update libuninameslist to 20260107.
VersionDeltaFile
1.12+2-2textproc/libuninameslist/Makefile
1.9+2-2textproc/libuninameslist/distinfo
+4-42 files

LLVM/project 7a0adcfclang/lib/CIR/Dialect/Transforms LoweringPrepare.cpp, clang/test/CIR/CodeGenCUDA device-stub.cu

fix tests and remove unnecessary comments.
DeltaFile
+0-3clang/test/CIR/CodeGenCUDA/device-stub.cu
+0-1clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+0-42 files

NetBSD/src joFI2XUsys/arch/amiga/amiga locore.s, sys/arch/atari/atari locore.s

   G/C empty (and unneeded) ecacheon() and ecacheoff() functions.
VersionDeltaFile
1.87+1-7sys/arch/sun3/sun3x/locore.s
1.45+1-7sys/arch/virt68k/virt68k/locore.s
1.157+1-7sys/arch/x68k/x68k/locore.s
1.184+1-7sys/arch/amiga/amiga/locore.s
1.140+1-7sys/arch/atari/atari/locore.s
1.109+1-7sys/arch/luna68k/luna68k/locore.s
+6-423 files not shown
+10-589 files

FreeBSD/ports ae414d7multimedia/pipe-viewer distinfo Makefile

multimedia/pipe-viewer: Update to 0.5.7

ChangeLog: https://github.com/trizen/pipe-viewer/blob/0.5.7/Changes
DeltaFile
+3-3multimedia/pipe-viewer/distinfo
+1-1multimedia/pipe-viewer/Makefile
+4-42 files

FreeBSD/ports 5d5e50bgraphics/vhs distinfo Makefile

graphics/vhs: Update to 0.11.0

ChangeLog: https://github.com/charmbracelet/vhs/releases/tag/v0.11.0
DeltaFile
+5-5graphics/vhs/distinfo
+2-3graphics/vhs/Makefile
+7-82 files

LLVM/project 08070b7flang/include/flang/Evaluate tools.h, flang/lib/Evaluate tools.cpp

[flang][cuda] Do not check for implicit transfer on managed symbols (#188143)

Avoid to trigger a semantic error when only managed symbols are on the
right hand side.
DeltaFile
+17-0flang/test/Lower/CUDA/cuda-data-transfer-implicit.cuf
+11-1flang/lib/Evaluate/tools.cpp
+1-4flang/test/Lower/CUDA/cuda-managed.cuf
+1-3flang/test/Lower/CUDA/cuda-data-transfer.cuf
+2-1flang/lib/Semantics/check-cuda.cpp
+3-0flang/include/flang/Evaluate/tools.h
+35-96 files

HardenedBSD/ports 6256b43devel/RStudio Makefile, mail/mailpit/files patch-package-lock.json

Merge branch 'freebsd/main' into hardenedbsd/main
DeltaFile
+0-563misc/ggml/files/patch-19504
+200-200mail/mailpit/files/patch-package-lock.json
+38-24misc/github-copilot-language-server/files/package-lock.json
+22-24math/freefem++/Makefile
+13-12misc/github-copilot-language-server/files/package-lock-kerberos.json
+11-10devel/RStudio/Makefile
+284-83322 files not shown
+359-90828 files

NetBSD/pkgsrc-wip 549718abasu distinfo Makefile, libscfg distinfo Makefile

basu, libscfg, wlrctl: use DIST_SUBDIR
DeltaFile
+3-3libscfg/distinfo
+3-3basu/distinfo
+3-3wlrctl/distinfo
+2-1libscfg/Makefile
+1-0basu/Makefile
+1-0wlrctl/Makefile
+13-106 files

NetBSD/src MzOk4lisys/uvm uvm_swap.c

   sw_reg_strategy: stop panicking on hole

   after the recent change to uvm_aio_aiodone_pages,
   it should be ok to report errors here. the swap slots
   will be marked bad as expected.

   tested with a swap file with 50% holes:
   ```
   Device                    Size     Used      Bad    Avail Capacity  Priority
   /dev/dk1                  2.0G     1.8G       0B     190M     91%      0
   /swapfile_with_half_holes 2.0G     2.0G     1.0G     5.6M    100%      0
   Total                     4.0G     3.8G     1.0G     196M     95%
   ```
VersionDeltaFile
1.219+0-10sys/uvm/uvm_swap.c
+0-101 files

NetBSD/src rOpo2U3sys/compat/common uvm_110.c

   swapctl: report npgbad (cont.)

   i forgot to this file while porting the patch from
   my local git repo to cvs.
VersionDeltaFile
1.1+74-0sys/compat/common/uvm_110.c
+74-01 files

NetBSD/src 6jaDOCisys/uvm uvm_pager.c

   uvm_aio_aiodone_pages: do not discard user data on swap out failure

   if swap out i/o failed, maybe the swap device is broken. it's
   reasonable to mark it bad. however, there is no point to discard
   the user data on the page being swapped out. unlike file pages,
   the association to the particular swap slot is not permanent.
   next time the page is picked as a victim by the page daemon, a
   different swap slot, which is hopefully good, will be allocated.
VersionDeltaFile
1.133+17-10sys/uvm/uvm_pager.c
+17-101 files

LLVM/project 8232460clang/include/clang/CIR MissingFeatures.h, clang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td CIRDialect.td

[CIR][CUDA] Global emission for fatbin symbols
DeltaFile
+154-0clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+50-0clang/test/CIR/CodeGenCUDA/device-stub.cu
+17-0clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+10-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+2-0clang/include/clang/CIR/MissingFeatures.h
+1-0clang/include/clang/CIR/Dialect/IR/CIRDialect.td
+234-06 files

NetBSD/src X4SzJC5sbin/swapctl swaplist.c

   swapctl: print npgbad

   eg.
   ```
   Device                    Size     Used      Bad    Avail Capacity  Priority
   /dev/dk1                  2.0G     1.8G       0B     190M     91%      0
   /swapfile_with_half_holes 2.0G     2.0G     1.0G     5.6M    100%      0
   Total                     4.0G     3.8G     1.0G     196M     95%
   ```
VersionDeltaFile
1.24+30-15sbin/swapctl/swaplist.c
+30-151 files

NetBSD/src xnKriXlsys/compat/common compat_110_mod.c compat_mod.h, sys/compat/sys uvm.h

   swapctl: report npgbad

   the current layout of swapent is like the following on amd64:
   ```
   (gdb) ptype /o struct swapent
   /* offset    |  size */  type = struct swapent {
   /*    0      |     8 */    dev_t se_dev;
   /*    8      |     4 */    int se_flags;
   /*   12      |     4 */    int se_nblks;
   /*   16      |     4 */    int se_inuse;
   /*   20      |     4 */    int se_priority;
   /*   24      |  1025 */    char se_path[1025];
   /* XXX  7-byte padding  */

                              /* total size (bytes): 1056 */
                            }
   ```
   while it's tempting to use the padding for the new member
   to avoid versioning, i guess we can't because, on some
   architectures, 64-bit value only has 32-bit alignment. (eg. i386)
VersionDeltaFile
1.3+19-1sys/compat/sys/uvm.h
1.10+8-2sys/sys/swap.h
1.10+4-2sys/uvm/uvm_swapstub.c
1.3+4-2sys/compat/common/compat_110_mod.c
1.218+6-0sys/uvm/uvm_swap.c
1.13+3-1sys/compat/common/compat_mod.h
+44-82 files not shown
+48-118 files

NetBSD/src 5GBoumpexternal/cddl/osnet/sys/sys vnode.h

   zfs: fix "slow rm" issue (cont.)

   commit a change which was lost during a porting from
   my local git repo to cvs.
   fortunately, it was harmless to miss this change though.
VersionDeltaFile
1.23+0-1external/cddl/osnet/sys/sys/vnode.h
+0-11 files

LLVM/project 035bb3bclang/include/clang/CIR MissingFeatures.h, clang/include/clang/CIR/Dialect/IR CIRCUDAAttrs.td CIRDialect.td

[CIR][CUDA] Global emission for fatbin symbols
DeltaFile
+157-0clang/lib/CIR/Dialect/Transforms/LoweringPrepare.cpp
+50-0clang/test/CIR/CodeGenCUDA/device-stub.cu
+17-0clang/include/clang/CIR/Dialect/IR/CIRCUDAAttrs.td
+10-0clang/lib/CIR/CodeGen/CIRGenModule.cpp
+2-0clang/include/clang/CIR/MissingFeatures.h
+1-0clang/include/clang/CIR/Dialect/IR/CIRDialect.td
+237-06 files

FreeBSD/ports d8dfedddevel/RStudio distinfo.desktop Makefile

devel/RStudio: Improve Makefile by adding ELECTRON_VERSION variable

This port was a bit fragile, but it builds and works fine when
electron37 is available. (electron37 is currently broken).
DeltaFile
+0-21devel/RStudio/distinfo.desktop
+11-10devel/RStudio/Makefile
+11-312 files