LLVM/project 0319ac1 — clang-tools-extra/clangd/refactor/tweaks DefineInline.cpp, clang-tools-extra/clangd/unittests/tweaks DefineInlineTests.cpp

[clangd] DefineInline: only trigger on the declaration that has the body (#227534)

The "Move function body to declaration" tweak (DefineInline) is offered on a redeclaration that follows the definition, and then fails when applied.

### Reproduction

```
printf 'void h(void) {}\nvoid h(void);\n' > /tmp/p3.c
clangd --check=/tmp/p3.c 2>&1 | grep -E 'DefineInline|All checks'
```

Before (also reproduces with clangd 17.0.6 and 19.1.7):

```
tweak: DefineInline ==> FAIL: Couldn't find semicolon for target declaration.
All checks completed, 1 errors
```

After:

    [20 lines not shown]
DeltaFile
+28-0clang-tools-extra/clangd/unittests/tweaks/DefineInlineTests.cpp
+6-1clang-tools-extra/clangd/refactor/tweaks/DefineInline.cpp
+34-12 files

LLVM/project fd0ffee — flang/lib/Lower PFTBuilder.cpp ConvertCall.cpp, flang/lib/Optimizer/OpenMP MapInfoFinalization.cpp

[flang] fix unused variable (NFC) (#227768)
DeltaFile
+2-2flang/lib/Lower/PFTBuilder.cpp
+2-2flang/lib/Lower/ConvertCall.cpp
+1-1flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
+5-53 files

NetBSD/src Wf4SD6c — sys/arch/mips/mips mips_machdep.c

   mips: Avoid shifting into sign bit by using unsigned type instead.

   Maybe this loop should do arithmetic in the other direction?  But at
   least left shifts on unsigned t-bit types are reduced mod 2^t and not
   undefined, so this is a simpler change to avoid UB.

   PR port-evbmips/60812: UBSan: Undefined Behavior in [sys-src] member
   access within misaligned address [..] for type '[..]' which requires
   128 byte alignment
VersionDeltaFile
1.311+3-3sys/arch/mips/mips/mips_machdep.c
+3-31 files

LLVM/project 6cb6a18 —

[Matrix] Implement matrix support for the `select` intrinsic (#227753)

Closes #184487.

This PR implements the matrix api for `select`, adds matrix codegen
tests, matrix sema tests, and SPIRV matrix backend tests. DirectX matrix
backend tests were not added because no DirectX backend changes were
made.

Assisted-by: Claude Opus 4.8
DeltaFile
+0-00 files

LLVM/project 83f8ff5 — clang/lib/CodeGen CGHLSLBuiltins.cpp, clang/lib/Headers/hlsl hlsl_alias_intrinsics.h

[Matrix] Implement matrix support for the `select` intrinsic (#227753)

Closes #184487.

This PR implements the matrix api for `select`, adds matrix codegen
tests, matrix sema tests, and SPIRV matrix backend tests. DirectX matrix
backend tests were not added because no DirectX backend changes were
made.

Assisted-by: Claude Opus 4.8
DeltaFile
+136-0llvm/test/CodeGen/SPIRV/hlsl-intrinsics/select_mat.ll
+87-0clang/test/CodeGenHLSL/builtins/select_mat.hlsl
+70-0clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
+47-1clang/lib/Sema/SemaHLSL.cpp
+25-0clang/test/SemaHLSL/BuiltIns/select_mat-errors.hlsl
+9-5clang/lib/CodeGen/CGHLSLBuiltins.cpp
+374-63 files not shown
+393-99 files

NetBSD/pkgsrc wZXUW5E — doc TODO

   doc/TODO: + apache-2.4.69, discount-3.0.2.0 [wip], p5-Text-Markdown-Discount-0.19.
VersionDeltaFile
1.28067+4-2doc/TODO
+4-21 files

NetBSD/pkgsrc-wip 7236999 — discount3 distinfo Makefile

discount3: update to 3.0.2.0.
DeltaFile
+11-4discount3/Makefile
+3-3discount3/distinfo
+14-72 files

FreeNAS/freenas ecc9ba6 — src/middlewared/middlewared/plugins/ntp peers.py, src/middlewared/middlewared/pytest/unit/plugins test_ntp_peers.py

Add NTS support for NTP servers

NTP servers can now be authenticated with Network Time Security (RFC 8915)
using chrony's per-source `nts` option.

- system.ntpserver gains `nts`. Saving an NTS server without `force` runs
  NTS key establishment (TLS 1.3, ALPN ntske/1, system trust store; see
  middlewared.utils.ntp) and then checks the NTP server and port it
  negotiates. maxpoll is capped at 21 with NTS so that chrony's key refresh
  interval stays longer than the poll interval.
- chrony.conf renders `authselectmode prefer`: while any NTS server is
  configured, servers without NTS (including DHCP-provided ones) are not used.
- system.security gains `require_nts` (off by default), which renders
  `authselectmode require`. It can only be enabled with an NTS server
  configured. While it is set, servers without NTS are refused and the last
  NTS server cannot be deleted. Changing it restarts chronyd on both
  controllers.
- The database migration adds time.cloudflare.com and ntppool1.time.nl with
  NTS to systems still on exactly the TrueNAS default NTP servers that are

    [16 lines not shown]
DeltaFile
+247-0src/middlewared/middlewared/utils/ntp.py
+198-0src/middlewared/middlewared/pytest/unit/plugins/ntp/test_ntp_validate.py
+171-0tests/api2/test_ntpserver_nts.py
+149-0src/middlewared/middlewared/pytest/unit/utils/test_nts_ke.py
+110-17src/middlewared/middlewared/plugins/ntp/peers.py
+107-2src/middlewared/middlewared/pytest/unit/plugins/test_ntp_peers.py
+982-1926 files not shown
+1,739-5132 files

LLVM/project 65c4536 — lldb/include/lldb/Target Platform.h, lldb/source/Plugins/Platform/MacOSX PlatformMacOSX.h PlatformMacOSX.cpp

[lldb] Remove unused method Platform::GetSDKDirectory (#227903)
DeltaFile
+0-38lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.cpp
+0-7lldb/include/lldb/Target/Platform.h
+0-2lldb/source/Plugins/Platform/MacOSX/PlatformMacOSX.h
+0-473 files

LLVM/project ce270d7 — mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

Update comment
DeltaFile
+2-2mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+2-21 files

LLVM/project 1bdae33 — mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp, mlir/test/Dialect/LLVMIR inlining-alias-scopes.mlir

[mlir][LLVM] Use a disjoint scope domain when inlining noalias

This matches recent changes to the LLVM inliner.

AI disclosure: Claude wrote the code, I wrote the commit message and
have done initial review.
DeltaFile
+28-25mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+10-18mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
+38-432 files

LLVM/project f3a050f — mlir/test/Dialect/LLVMIR inlining-alias-scopes.mlir

Test that the inliner keeps the flag when it clones a domain

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+35-0mlir/test/Dialect/LLVMIR/inlining-alias-scopes.mlir
+35-01 files

LLVM/project 301c3fb — mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

Remove pointless comment
DeltaFile
+0-2mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+0-21 files

LLVM/project f6efa4b — mlir/include/mlir/Dialect/LLVMIR LLVMAttrDefs.td, mlir/lib/Dialect/LLVMIR/Transforms InlinerInterfaceImpl.cpp

[mlir][LLVM] Add disjointScopes to AliasScopeDomainAttr

This also updates the MLIR-side inliner to clone disjoint domains
while cloning alias scopes, matching changes to LLVM.

AI disclosure: Claude wrote the code, I wrote the commit message and
looked at the code.
DeltaFile
+25-0mlir/test/Target/LLVMIR/Import/metadata-alias-scopes.ll
+23-0mlir/test/Target/LLVMIR/attribute-alias-scopes.mlir
+17-2mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
+4-1mlir/lib/Dialect/LLVMIR/Transforms/InlinerInterfaceImpl.cpp
+2-2mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
+3-1mlir/lib/Target/LLVMIR/ModuleImport.cpp
+74-66 files

LLVM/project e1a917f — llvm/test/CodeGen/AMDGPU lower-kernel-and-module-lds.ll lower-module-lds-via-hybrid.ll

Test fixups
DeltaFile
+28-19llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
+36-10llvm/test/CodeGen/AMDGPU/lower-module-lds-precise-allocate-to-module-struct.ll
+17-17llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-memcpy.ll
+15-18llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa.ll
+11-13llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
+9-9llvm/test/CodeGen/AMDGPU/lower-kernel-and-module-lds.ll
+116-865 files not shown
+148-12011 files

LLVM/project 4a89b85 — llvm/lib/Target/AMDGPU AMDGPULowerModuleLDSPass.cpp, llvm/test/CodeGen/AMDGPU remove-no-kernel-id-attribute.ll

[AMDGPU] Use a disjoint scope domain for merged LDS structs

When lowering LDS values, all the values are mutually disjoint, so we
can use the newly-added disjoint scopes feature to simplify the IR.

AI disclosure: Claude wrote this and I reviewed it and wrote the
 commit message
DeltaFile
+16-51llvm/lib/Target/AMDGPU/AMDGPULowerModuleLDSPass.cpp
+8-12llvm/test/CodeGen/AMDGPU/remove-no-kernel-id-attribute.ll
+24-632 files

LLVM/project df5d22c — llvm/lib/Target/AMDGPU AMDGPULowerKernelArguments.cpp, llvm/test/CodeGen/AMDGPU lower-kernargs.ll si-split-load-store-alias-info.ll

[AMDGPU] Use a disjoint scope domain for noalias kernel arguments

All noalias arguments of a kernel are disjoint with each other, so we
can use a disjoint scope to save on metadata construction.

AI disclosure: Claude wrote this, I looked at it and wrote this
message.
DeltaFile
+90-105llvm/test/CodeGen/AMDGPU/lower-noalias-kernargs.ll
+19-13llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
+11-11llvm/test/CodeGen/AMDGPU/lower-kernel-arguments-noalias-call-no-ptr-args.ll
+8-8llvm/test/CodeGen/AMDGPU/si-split-load-store-alias-info.ll
+4-4llvm/test/CodeGen/AMDGPU/lower-kernargs.ll
+132-1415 files

LLVM/project f6d3cd2 — llvm/test/Transforms/Inline noalias2.ll

Test a callee that has both noalias arguments and its own scopes

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+51-0llvm/test/Transforms/Inline/noalias2.ll
+51-01 files

LLVM/project 906d8a9 — clang/test/CodeGen arm-v8.2a-neon-intrinsics-generic.c arm_neon_intrinsics.c, llvm/lib/Transforms/Utils InlineFunction.cpp

[Inliner] Use a disjoint scope domain for noalias arguments

InlineFunction creates alias.scope/noalias metadata to represent the
set of `noalias` arguments to a function. We don't need the `!noalias`
now that we have the ability to use disjoint scopes, saving us IR size
and metadata bloat.

TODO move these to a previous commit.
Also changes InstCombine to not drop the experimental.noalias.scope.decl
for disjoint scopes even if they're not mentioned in a `!noalias`, but
do still delete them if they're not used.
DeltaFile
+324-324clang/test/CodeGen/arm_neon_intrinsics.c
+72-72clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
+35-30llvm/lib/Transforms/Utils/InlineFunction.cpp
+13-14llvm/test/Transforms/Inline/noalias-calls2.ll
+12-12llvm/test/Transforms/Inline/noalias2.ll
+11-11llvm/test/Transforms/PhaseOrdering/pr39282.ll
+467-4639 files not shown
+487-48315 files

LLVM/project 09ad311 — llvm/lib/Transforms/InstCombine InstructionCombining.cpp

Don't be conservative about invalid IR
DeltaFile
+1-3llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+1-31 files

LLVM/project 702e481 — llvm/include/llvm/IR Metadata.h, llvm/include/llvm/Transforms/Utils Cloning.h

Review feedback
DeltaFile
+53-31llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+26-5llvm/test/Transforms/InstCombine/noalias-scope-decl-disjoint-domain.ll
+16-14llvm/lib/Transforms/Utils/CloneFunction.cpp
+4-3mlir/lib/Target/LLVMIR/ModuleImport.cpp
+3-1llvm/include/llvm/Transforms/Utils/Cloning.h
+3-1llvm/include/llvm/IR/Metadata.h
+105-551 files not shown
+105-567 files

LLVM/project 1a589fd — llvm/test/CodeGen/AMDGPU lower-lds-struct-aa-merge.ll, llvm/test/Transforms/LoopVectorize metadata.ll

Test fixes
DeltaFile
+2-2llvm/test/CodeGen/AMDGPU/lower-lds-struct-aa-merge.ll
+1-1llvm/test/Transforms/LoopVectorize/metadata.ll
+3-32 files

LLVM/project 02557a9 — llvm/docs LangRef.md, llvm/include/llvm/Analysis ScopedNoAliasAA.h

Review feedback
DeltaFile
+11-13llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+10-10llvm/docs/LangRef.md
+5-4llvm/include/llvm/IR/MDBuilder.h
+3-3llvm/lib/IR/MDBuilder.cpp
+3-3llvm/include/llvm/Analysis/ScopedNoAliasAA.h
+1-1llvm/lib/Analysis/ScopedNoAliasAA.cpp
+33-346 files

LLVM/project 46fe4fb — llvm/test/Transforms/LICM scalar-promote-aa-tags.ll

Update tests introduced recently
DeltaFile
+2-2llvm/test/Transforms/LICM/scalar-promote-aa-tags.ll
+2-21 files

LLVM/project a9987f3 — llvm/test/Analysis/ScopedNoAliasAA disjoint-domains.ll, llvm/test/CodeGen/SystemZ/Large branch-01.ll

Update tests for rebase
DeltaFile
+6-6llvm/test/Analysis/ScopedNoAliasAA/disjoint-domains.ll
+3-3llvm/test/CodeGen/SystemZ/Large/branch-01.ll
+2-2llvm/test/Transforms/ScalarizeMaskedMemIntrin/X86/metadata.ll
+1-1mlir/test/Target/LLVMIR/masked-intrinsic-metadata.mlir
+1-1mlir/test/Target/LLVMIR/Import/masked-intrinsic-metadata.ll
+1-1llvm/test/Transforms/LoopVectorize/VPlan/cse-loads.ll
+14-146 files

LLVM/project 62b5404 — llvm/docs LangRef.md, llvm/include/llvm/Analysis ScopedNoAliasAA.h

Review feedback
DeltaFile
+14-14llvm/lib/Analysis/ScopedNoAliasAA.cpp
+12-5llvm/docs/LangRef.md
+2-1llvm/include/llvm/Analysis/ScopedNoAliasAA.h
+28-203 files

LLVM/project 5808039 — llvm/docs LangRef.md

Add a warning about string names on disjoint
DeltaFile
+4-0llvm/docs/LangRef.md
+4-01 files

LLVM/project f8963fa — llvm/docs LangRef.md

Update docs
DeltaFile
+7-10llvm/docs/LangRef.md
+7-101 files

LLVM/project e6ee82e — clang/test/CodeGen arm_neon_intrinsics.c arm-v8.2a-neon-intrinsics-generic.c, llvm/lib/Bitcode/Reader MetadataLoader.cpp

[IR] Add alias scope domains with disjoint scopes

See RFC at
https://discourse.llvm.org/t/rfc-disjoint-scope-alias-scope-noalias-domains/91537

This commit adds support for declaring an alias scope domain disjoint.
Disjoint domains are ones where each scope is implicitly `!noalias`
with each other scope in the domain. This is represented by adding an
`i1` into the scope's domain as the second argument, with `i1 true`
representing disjoint scopes and `i1 false` representing the old
non-disjoint behavior. AutoUpgrade mechanisms have been added to add
in the missing `i1 false` to existing metadata.

This commit updates alias analysis to know about disjoint scopes and
updates the function cloner to also clone the alias domain if it's
disjoint (since, as a herd of LLMs discovered, you don't want the old
IR to be noalias with a clone of itself).

Commits to migrate passes to use disjoint scopes where that's an

    [4 lines not shown]
DeltaFile
+72-72clang/test/CodeGen/arm-v8.2a-neon-intrinsics-generic.c
+54-54clang/test/CodeGen/arm_neon_intrinsics.c
+97-0llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+95-0llvm/test/Transforms/InstCombine/noalias-scope-decl-disjoint-domain.ll
+42-42llvm/test/Transforms/LoopUnroll/peel-loop-noalias-scope-decl.ll
+39-35llvm/test/CodeGen/MIR/AMDGPU/machine-metadata.mir
+399-203189 files not shown
+1,347-723195 files

LLVM/project 07a68a0 — clang/docs ReleaseNotes.md, clang/lib/Headers __clang_cuda_builtin_vars.h

[CUDA] [Headers] Mark getters for `threadIdx` etc. as `const` (#228166)

The LLVM builtins these lower to are already effectively treated as
such, so this shouldn't cause any correctness issues. Adding this
attribute enables assumptions on these builtins; previously, such
assumptions would be discarded as Clang by default treats function calls
as having side-effects.

This patch also adds some optimiser tests to ensure assumptions
involving these builtins actually improve the resulting IR.

Tests were generated by Codex.

Fixes https://github.com/llvm/llvm-project/issues/181340.
DeltaFile
+106-0llvm/test/Transforms/PhaseOrdering/nvptx-assume-special-register.ll
+20-0clang/test/CodeGenCUDA/cuda-builtin-vars.cu
+3-2clang/lib/Headers/__clang_cuda_builtin_vars.h
+5-0clang/test/SemaCUDA/cuda-builtin-vars.cu
+2-0clang/docs/ReleaseNotes.md
+136-25 files