LLVM/project f590dfallvm/lib/CodeGen RegAllocFast.cpp, llvm/test/CodeGen/X86 regallocfast-undef-tied-use.mir

[RegAllocFast] Give an undef tied use the register of its tied def (#222249)

X86TargetLowering::emitSetJmpShadowStackFix zeroes a register by
building an XOR whose two uses are undef reads of its own def (per
MachineOperand.h "... reading the same dont-care value"). Def processing
frees a def whose tied use is undef before the uses are allocated, so
allocVirtRegUndef() no longer finds the virtual register and takes the
head of the allocation order instead. -verify-machineinstrs would fail:

```
renamable $rcx = XOR64rr undef renamable $rax(tied-def 0), undef renamable $rax, implicit-def dead $eflags
*** Bad machine code: Tied physical registers must match. ***
```

Take the register from the tie, and rewrite the instruction's other
reads of the value with it so that they keep agreeing on one register.

Aided by Opus 5
DeltaFile
+32-0llvm/test/CodeGen/X86/regallocfast-undef-tied-use.mir
+22-0llvm/lib/CodeGen/RegAllocFast.cpp
+54-02 files

LLVM/project d54f5e5lldb/include/lldb/API SBCompileUnit.h, lldb/include/lldb/Symbol CompileUnit.h

[lldb] Add SBCompileUnit::GetIDInModule (#222470)

Expose an ID that identifies a compile unit within its module so clients
can name a CU across API calls and look it up again with
SBModule::GetCompileUnitAtIndex. The user ID is not usable for this:
with a Darwin debug map every compile unit reports uid 0.

CompileUnit stores the index, set by SymbolFileCommon when a CU is
parsed or installed at a given slot.
DeltaFile
+27-0lldb/test/API/python_api/compile_unit/TestCompileUnitAPI.py
+8-0lldb/source/API/SBCompileUnit.cpp
+6-1lldb/source/Symbol/SymbolFile.cpp
+7-0lldb/include/lldb/Symbol/CompileUnit.h
+5-0lldb/include/lldb/API/SBCompileUnit.h
+1-1lldb/test/API/python_api/compile_unit/Makefile
+54-21 files not shown
+55-27 files

LLVM/project 4cbc996lldb/test/API/tools/lldb-dap/exception TestDAP_exception.py, lldb/test/API/tools/lldb-dap/exception/asan TestDAP_asan.py

[lldb-dap] Set stopped event text for signals and instrumentation (#222394)

DAP maps signals and instrumentation to reason 'exception'. Populate
'text' with the signal or runtime name to distinguish stop types. For
example, text contains the specific signal name (e.g., "SIGABRT") or
instrumentation runtime name (e.g., "AddressSanitizer").
DeltaFile
+40-0lldb/tools/lldb-dap/EventHelper.cpp
+6-2lldb/test/API/tools/lldb-dap/exception/cpp/TestDAP_exception_cpp.py
+4-2lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
+3-1lldb/test/API/tools/lldb-dap/exception/ubsan/TestDAP_ubsan.py
+3-1lldb/test/API/tools/lldb-dap/exception/asan/TestDAP_asan.py
+3-1lldb/test/API/tools/lldb-dap/exception/TestDAP_exception.py
+59-76 files

LLVM/project b6c2c76clang/docs conf.py, llvm/docs conf.py

[docs] Enable absolute self-documentation link checks

Configure the LLVM and Clang documentation URL prefixes so their Sphinx
builds reject new absolute links to documents in the same project.

Part of #214861
DeltaFile
+11-1llvm/docs/conf.py
+3-0clang/docs/conf.py
+14-12 files

LLVM/project 96f7503utils/docs __main__.py, utils/docs/llvm_sphinx/ext absolute_links.py

[docs] Check for absolute self-documentation links

Add an opt-in llvm_sphinx check that diagnoses absolute links to
documents in the current Sphinx project. Operate on the parsed doctree
so the check works for both reStructuredText and MyST without flagging
examples in literal blocks.

For example, restoring one absolute link in the LLVM documentation makes
a warnings-as-errors build report:

    llvm/docs/ReleaseNotes.md:321: WARNING: absolute URL points to document
    'index' in this Sphinx project; use an internal 'doc' or 'ref' role
    instead: https://llvm.org/docs/ [llvm_sphinx.absolute-doc-link]

Part of #214861
DeltaFile
+152-0utils/docs/llvm_sphinx/ext/absolute_links.py
+22-4utils/docs/__main__.py
+12-0utils/docs/llvm_sphinx/ext/absolute_links_test/rest.rst
+11-0utils/docs/llvm_sphinx/ext/absolute_links_test/conf.py
+10-0utils/docs/llvm_sphinx/ext/absolute_links_test/markdown.md
+8-0utils/docs/llvm_sphinx/ext/absolute_links_test/index.rst
+215-42 files not shown
+222-68 files

LLVM/project e45aca6llvm/docs CodingStandards.md GettingInvolved.md, llvm/docs/AMDGPU DeveloperGuideline.rst

[docs] Replace llvm.org/docs links with project links

Use Sphinx document and reference roles or project-relative links for
links within the LLVM documentation. This lets Sphinx validate the
targets and keeps local documentation builds and archived release
documentation self-contained.

Part of #214861
DeltaFile
+8-8llvm/docs/AMDGPU/DeveloperGuideline.rst
+7-7llvm/docs/SecurityTransparencyReports.rst
+6-6llvm/docs/MergeFunctions.md
+5-6llvm/docs/CommandGuide/llvm-remarkutil.md
+5-3llvm/docs/GettingInvolved.md
+5-1llvm/docs/CodingStandards.md
+36-3139 files not shown
+94-8545 files

LLVM/project 15b6b01clang/docs AllocToken.md SafeBuffers.md, clang/docs/analyzer checkers.md

[docs] Replace clang.llvm.org/docs links with Sphinx links

Use Sphinx document and option roles or project-relative links for links
within the Clang documentation. Repair stale generated-document
fragments found while validating the replacements. This ensures that
standalone documentation builds are self-contained, although
cross-project links (Clang->LLVM) typically go via absolute llvm.org
hrefs.

Part of #214861

Assisted-by: Codex
DeltaFile
+6-6clang/docs/LifetimeSafety.md
+5-5clang/docs/LanguageExtensions.md
+4-4clang/docs/analyzer/checkers.md
+3-4clang/docs/SafeBuffers.md
+3-3clang/docs/analyzer/user-docs/Annotations.md
+2-2clang/docs/AllocToken.md
+23-2410 files not shown
+33-3716 files

FreeBSD/ports 6700408databases/openldap27-server Makefile distinfo

databases/openldap27-server: update to 2.7.1
DeltaFile
+3-3databases/openldap27-server/distinfo
+1-1databases/openldap27-server/Makefile
+4-42 files

FreeBSD/ports cff5017databases/lmdb Makefile distinfo

databases/lmdb: update to 1.0.2
DeltaFile
+3-3databases/lmdb/distinfo
+1-1databases/lmdb/Makefile
+4-42 files

LLVM/project 90cebefclang/lib/Driver/ToolChains Cuda.cpp, llvm/lib/Transforms/Scalar MemCpyOptimizer.cpp

[MemCpyOpt] Remove libcall availability checks for memory intrinsics (#198558)

Fixes #197683

- Delete the enable-memcpyopt-without-libcalls flag from MemCpyOptimizer
- Remove libcall availability checks in processStoreOfLoad() and
processStore()
- Remove the flag from CUDA/OpenMP toolchain in Clang
- Update no-libcalls.ll test to expect optimizations on all targets


cc @arsenm

Signed-off-by: addmisol <addmisol9 at gmail.com>
DeltaFile
+16-30llvm/test/Transforms/MemCpyOpt/no-libcalls.ll
+1-18llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
+1-3clang/lib/Driver/ToolChains/Cuda.cpp
+18-513 files

LLVM/project 4d5358bllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPShuffleAnalysis.h

[SLP][modularisation][NFC] Move BaseShuffleAnalysis to SLPShuffleAnalysis.h (#222236)

Move the BoUpSLP-independent shuffle-analysis base class out of
SLPVectorizer.cpp into a new header-only
SLPVectorizer/SLPShuffleAnalysis.h. BoUpSLP::ShuffleCostEstimator and
BoUpSLP::ShuffleInstructionBuilder keep deriving from it.

createShuffle read the file-local SLPReVec cl::opt in an assert; the
option stays static in SLPVectorizer.cpp and the moved template takes
its value as an explicit bool parameter. Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

Assisted by AI.
DeltaFile
+393-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPShuffleAnalysis.h
+3-360llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+396-3602 files

LLVM/project 34a9870lldb/bindings/interface SBCompileUnitDocstrings.i, lldb/include/lldb/API SBCompileUnit.h

[lldb] Add SBCompileUnit::GetIsOptimized (#222403)

Expose Module::GetIsOptimized through the SB API so clients can tell
whether a compile unit was built with optimization. This change is
motivated by lldb-dap, where I want to extend the protocol::CompileUnit
with this information.

The new tests build the same source with and without -O1, so the test
case can no longer share a build with the others.
DeltaFile
+19-0lldb/test/API/python_api/compile_unit/TestCompileUnitAPI.py
+8-0lldb/source/API/SBCompileUnit.cpp
+5-0lldb/bindings/interface/SBCompileUnitDocstrings.i
+4-0lldb/include/lldb/API/SBCompileUnit.h
+36-04 files

LLVM/project 4acc5f1llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPMemoryUtils.h SLPMemoryUtils.cpp

[SLP][modularisation][NFC] Move clusterSortPtrAccesses to SLPMemoryUtils (#222235)

Move the BoUpSLP-independent pointer-clustering sort out of
SLPVectorizer.cpp into SLPVectorizer/SLPMemoryUtils.{h,cpp}.

clusterSortPtrAccesses reads the file-local RecursionMaxDepth cl::opt
via getUnderlyingObject; the option stays static in SLPVectorizer.cpp
and the moved helper takes its value as an explicit unsigned parameter
(also captured by the local comparison lambda). Behavior is unchanged.

Part of the SLPVectorizer.cpp modularization effort:
https://discourse.llvm.org/t/modularizing-slpvectorizer-cpp/90922

Assisted by AI
DeltaFile
+2-106llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+108-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.cpp
+9-0llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPMemoryUtils.h
+119-1063 files

LLVM/project 6594e82llvm/lib/Target/AMDGPU GCNDPPCombine.cpp, llvm/test/CodeGen/AMDGPU dpp_combine_gfx11.mir

[AMDGPU] Reject DPP combine when old is narrower than dst (#217894)

Old is copied from the mov dst class, but the combined dst can be wider
(e.g. V_CVT_F64_I32), making old illegal for it
DeltaFile
+18-0llvm/test/CodeGen/AMDGPU/dpp_combine_gfx11.mir
+10-1llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
+28-12 files

NetBSD/pkgsrc WzPt1hadoc CHANGES-2026

   Note update of security/mldsa to version 20260909nb1

   + don't build or install profiling or shared libs
VersionDeltaFile
1.5981+2-1doc/CHANGES-2026
+2-11 files

FreeNAS/freenas 707c059src/middlewared/middlewared/api/v26_0_0 crypto_cert_profiles.py, src/middlewared/middlewared/api/v27_0_0 crypto_cert_profiles.py

Address reviews
DeltaFile
+0-3src/middlewared/middlewared/api/v27_0_0/crypto_cert_profiles.py
+0-3src/middlewared/middlewared/api/v26_0_0/crypto_cert_profiles.py
+0-62 files

FreeNAS/freenas e8f1c1csrc/middlewared/middlewared/api/v26_0_0 crypto_cert_profiles.py, src/middlewared/middlewared/api/v27_0_0 crypto_cert_profiles.py

Split CSR profiles by certificate role

This commit adds changes to replace the two HTTPS CSR profiles with four role specific ones covering TLS server and TLS client use, in both RSA and EC. Both old profiles asked for SERVER_AUTH and CLIENT_AUTH together, which Google Trust Services now rejects outright with badCSR. Once you can no longer name both purposes in one request, a single shape stops serving both roles, since a certificate is only usable for the purposes its extended key usage names.

The server profiles now request SERVER_AUTH alone, which is what Google and the Chrome root programme want by 2027 and what relying parties like Apple expect to find on a TLS server certificate, and the client profiles request CLIENT_AUTH so mutual TLS against syslog, LDAP and KMIP has something usable. This also drops the RSA keyAgreement bit the baseline requirements forbid, makes the EKU non critical, and removes the dead lifetime key that certificate.create would have rejected. The catalogue is declared in v26 and v27 both, since v26 is the current version on the stable branch, so backporting means keeping the v26 hunk and omitting the v27 one; to_previous on v26 is what keeps older API clients on the profiles they already know.
DeltaFile
+144-55src/middlewared/middlewared/api/v26_0_0/crypto_cert_profiles.py
+128-55src/middlewared/middlewared/api/v27_0_0/crypto_cert_profiles.py
+54-0tests/api2/test_certificate_create_types.py
+9-4src/middlewared/middlewared/plugins/webui/crypto.py
+1-0tests/api2/test_legacy_api.py
+336-1145 files

NetBSD/pkgsrc GDjuD1Hsecurity/mldsa distinfo Makefile, security/mldsa/patches patch-lib-Makefile

   security/mldsa - update package to version 20260909nb1

   + don't build or install profiling or shared libs
VersionDeltaFile
1.1+16-0security/mldsa/patches/patch-lib-Makefile
1.3+1-5security/mldsa/PLIST
1.3+2-1security/mldsa/distinfo
1.3+2-1security/mldsa/Makefile
+21-74 files

OpenBSD/src eEGEB9elib/libc/dlfcn init.c

   Learn the execpath executable from either of AUX_execpath or
   AUX_openbsd_execpath (the first will be deleted in about a week
   when kernels have crossed over)
   ok kettenis
VersionDeltaFile
1.28+3-2lib/libc/dlfcn/init.c
+3-21 files

LLVM/project feabb30llvm/lib/CodeGen MachineScheduler.cpp, llvm/test/CodeGen/SystemZ postra-sched-filter.mir

[MISched] Apply debug filters before starting a block (#222270)

Apply the `misched-only-func` and `misched-only-block` filters before
calling `startBlock`. This avoids entering a target scheduling strategy
for a filtered block without a matching `finishBlock`/`leaveMBB` call.

Add a SystemZ post-RA scheduler regression that checks a filtered block
does not contribute hazard-recognizer state.

Split from #221984 in response to review.
DeltaFile
+21-0llvm/test/CodeGen/SystemZ/postra-sched-filter.mir
+2-3llvm/lib/CodeGen/MachineScheduler.cpp
+23-32 files

FreeNAS/freenas d122ebctests/api2 test_s3_config.py

Address reviews
DeltaFile
+23-15tests/api2/test_s3_config.py
+23-151 files

LLVM/project cdf59b3flang/test/Lower/OpenMP threadset.f90, flang/test/Semantics/OpenMP threadset-clause-v60.f90

[Flang][OpenMP] Add lowering and translation for the threadset clause (#215513)

Adds Flang lowering, and LLVM IR translation for the OpenMP 6.0 `threadset` clause (spec 14.8) on `task` and `taskloop`.

- Add a `ThreadsetPolicy` enum (`omp_pool`/`omp_team`) and clause on `omp.task` and `omp.taskloop.context`, lowered from Flang.
- Translate `threadset(omp_pool)` to the free-agent task flag (`0x80`); `omp_team` leaves it unset, matching clang.
- Add semantics, lowering, and translation tests.

Related: https://github.com/llvm/llvm-project/pull/135807,
https://github.com/llvm/llvm-project/pull/144409,
https://github.com/llvm/llvm-project/pull/169856
DeltaFile
+50-0mlir/test/Target/LLVMIR/openmp-taskloop-threadset.mlir
+41-0mlir/test/Dialect/OpenMP/ops.mlir
+38-0flang/test/Semantics/OpenMP/threadset-clause-v60.f90
+37-0flang/test/Lower/OpenMP/threadset.f90
+16-14mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
+27-0mlir/include/mlir/Dialect/OpenMP/OpenMPClauses.td
+209-1412 files not shown
+303-3518 files

LLVM/project 069ef0eclang/docs ReleaseNotes.md

Add release note for #184718.
DeltaFile
+1-0clang/docs/ReleaseNotes.md
+1-01 files

OpenBSD/src D3SLF6Isys/kern exec_elf.c

   Export the new AUX_openbsd_execpath 4001 as well as the (soon to be removed)
   AUX_execpath.
   ok kettenis
VersionDeltaFile
1.204+6-2sys/kern/exec_elf.c
+6-21 files

OpenBSD/src a1REAEWsys/sys exec_elf.h

   Using AUX_execpath 15 collides with Linux use of the portable space,
   so let's use AUX_openbsd_execpath 4001 instead so that tools can tell
   the difference.
   Expand ELF_AUX_ENTRIES to 13 temporarily, and keep providing 15 for
   a while until people's kernels are updated through this phase.
   ok kettenis
VersionDeltaFile
1.110+4-3sys/sys/exec_elf.h
+4-31 files

LLVM/project 7fe3637llvm/lib/Target/RISCV RISCVISelLowering.cpp, llvm/test/CodeGen/RISCV and-negpow2-cmp.ll

[RISCV] Fix infinite DAGCombine loop with SETCC and SIGN_EXTEND_INREG (#221593)

We generalized (X & -(1 << C1) & 0xffffffff) == C2 << C1 using `sraiw`.
The combine generates a `SIGN_EXTEND_INREG` when simplifying.

However, when C1 is 0 and the sign bit (bit 31) of X is already known to
be zero, `DAGCombiner` sees that `SIGN_EXTEND_INREG` is semantically
equivalent to `AND X, 0xFFFFFFFF` (zext). Because `DAGCombiner`
considers `AND` to be more canonical than `SIGN_EXTEND_INREG` in this
context, it immediately reverts the node back to `AND`.

This caused an infinite DAGCombine loop. This patch disables the folding
when the C1 is zero. That case is covered by a later combine that already
checks if bit 31 is known to be zero.

Fixes: https://github.com/llvm/llvm-project/issues/221521
(cherry picked from commit f9a8dec9496fea7c55f591a66a64dbcdc085fc2d)
DeltaFile
+34-0llvm/test/CodeGen/RISCV/and-negpow2-cmp.ll
+1-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+35-12 files

LLVM/project f1245b6llvm/lib/CodeGen AggressiveAntiDepBreaker.cpp, llvm/test/CodeGen/Hexagon anti-dep-partial.mir

[CodeGen] Skip pseudo instructions in AggressiveAntiDepBreaker (#222271)

`ScheduleDAGInstrs` does not create SUnits for debug or pseudo
instructions. The aggressive anti-dependency breaker only skipped debug
instructions, so encountering a pseudo such as `PSEUDO_PROBE`
dereferenced a null SUnit.

Skip both debug and pseudo instructions and add a Hexagon regression
covering the existing aggressive anti-dependency path with legacy and
new machine pass managers.

Split from #221984 in response to review.
DeltaFile
+4-0llvm/test/CodeGen/Hexagon/anti-dep-partial.mir
+1-1llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
+5-12 files

FreeNAS/freenas d76e6c2src/middlewared/middlewared/api/v26_0_0 s3.py, src/middlewared/middlewared/api/v27_0_0 s3.py

Gate S3 auditing on appliance hardware

This commit adds changes to decide whether the S3 service audits requests from the hardware class rather than from the license, so it matches the gate the kernel audit handler already uses -- both halves of the audit trail land in the same database, so both have to answer to the same thing. The check is renamed audit_supported since it no longer reads a license, and the validation messages and API field descriptions say appliance hardware instead of Enterprise license.
DeltaFile
+19-8src/middlewared/middlewared/plugins/truenas_s3/config.py
+5-5tests/api2/test_s3_config.py
+5-3src/middlewared/middlewared/plugins/truenas_s3/bucket_crud.py
+2-2src/middlewared/middlewared/etc_files/truenas_s3/buckets.conf.mako
+2-2src/middlewared/middlewared/api/v27_0_0/s3.py
+2-2src/middlewared/middlewared/api/v26_0_0/s3.py
+35-226 files

LLVM/project 36ede5cclang-tools-extra/clang-tidy ClangTidyOptions.cpp, clang-tools-extra/docs ReleaseNotes.rst

[clang-tidy] Normalize windows line filter paths (#217038)

`git | clang-tidy-diff.py` emits line-filter paths with forward slashes,
while Windows compilation databases use a mix of forwards and backwards
slashes. These paths are then silently rejected (and no report is
emitted).

Reproduce on windows via:
```
git.exe diff -U0 main -- . | python clang-tidy-diff.py -p1 -path .\build"
```

Git will produce a path like:
```
my/source/file.cpp
```

The compilation database has files with entries like this:
```

    [18 lines not shown]
DeltaFile
+70-0clang-tools-extra/unittests/clang-tidy/ClangTidyDiagnosticConsumerTest.cpp
+10-10clang-tools-extra/unittests/clang-tidy/ClangTidyTest.h
+8-8clang-tools-extra/test/clang-tidy/infrastructure/clang-tidy-diff.cpp
+10-0clang-tools-extra/unittests/clang-tidy/ClangTidyOptionsTest.cpp
+6-1clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
+5-0clang-tools-extra/docs/ReleaseNotes.rst
+109-191 files not shown
+113-207 files

OpenBSD/src SBKTcSdlib/libc/dlfcn init.c

   Since static non-PIE executables also get aux vals on the stack, we
   don't need the special code to find some values inside the executable
   image mapping.
   ok kettenis
VersionDeltaFile
1.27+1-10lib/libc/dlfcn/init.c
+1-101 files