LLVM/project 234736aclang-tools-extra/docs/clang-tidy/checks list.rst, clang-tools-extra/docs/clang-tidy/checks/cert dcl58-cpp.rst env33-c.rst

[clang-tidy][NFC] Fix incorrect `list.rst` modification by `add_new_check.py` (#179297)

We have observed unexpected and extensive modifications to `list.rst` in
a few Pull Requests. After some investigation I found that
`add_new_check.py` was misclassifying existing checks, leading to
instability in the generated documentation list.

More specifically:
- The script relies on `http-equiv=refresh` meta tags to identify alias
checks, which is missing in several existing checks, causing them to be
incorrectly listed as regular checks.
- The script fails to detect fix-its in checks that use CamelCase helper
methods.

With this patch, running `add_new_check.py` now generates a stable and
correct `list.rst` consistent with the actual codebase state.
DeltaFile
+2-6clang-tools-extra/docs/clang-tidy/checks/list.rst
+2-0clang-tools-extra/docs/clang-tidy/checks/fuchsia/multiple-inheritance.rst
+2-0clang-tools-extra/docs/clang-tidy/checks/cert/dcl58-cpp.rst
+2-0clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
+2-0clang-tools-extra/docs/clang-tidy/checks/cert/err52-cpp.rst
+2-0clang-tools-extra/docs/clang-tidy/checks/cert/flp30-c.rst
+12-64 files not shown
+18-710 files

LLVM/project 5f7e5e5llvm/test/CodeGen/AMDGPU amdgcn.bitcast.1024bit.ll amdgcn.bitcast.512bit.ll, llvm/test/MC/AMDGPU gfx8_asm_vop3.s gfx7_asm_vop3.s

Address review comments

Created using spr 1.3.6-beta.1
DeltaFile
+121,423-138,333llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
+43,323-44,825llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+42,349-42,348llvm/test/MC/AMDGPU/gfx8_asm_vop3.s
+41,419-41,418llvm/test/MC/AMDGPU/gfx7_asm_vop3.s
+36,428-36,427llvm/test/MC/AMDGPU/gfx9_asm_vop3.s
+28,175-28,174llvm/test/MC/AMDGPU/gfx9_asm_vopc.s
+313,117-331,52512,458 files not shown
+2,497,968-1,797,95512,464 files

LLVM/project 398c8callvm/lib/CodeGen/SelectionDAG ScheduleDAGSDNodes.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.6-beta.1
DeltaFile
+7-1llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
+7-11 files

LLVM/project 50a9141llvm/utils/gn/secondary/libcxx/include BUILD.gn

[gn build] Port 7b6f1235b9353
DeltaFile
+1-0llvm/utils/gn/secondary/libcxx/include/BUILD.gn
+1-01 files

LLVM/project 12d1099llvm/utils/gn/secondary/llvm/lib/Target/X86 BUILD.gn

[gn build] Port 9d5a42c8411b2
DeltaFile
+12-1llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
+12-11 files

LLVM/project c7fd23cllvm/utils/gn/secondary/compiler-rt/lib/builtins sources.gni

gn build: Port 39413af931a7
DeltaFile
+4-0llvm/utils/gn/secondary/compiler-rt/lib/builtins/sources.gni
+4-01 files

LLVM/project fc89b1cbolt/lib/Rewrite RewriteInstance.cpp, bolt/test/AArch64 constant-island-reference.s

[BOLT] Get symbol for const island referenced across func by relocation (#178988)

When handling relocation in one function referencing code or
data defined in another function, we should check if relocation
target is constant island or not, and get the referenced symbol
accordingly for both cases.
DeltaFile
+20-0bolt/test/AArch64/constant-island-reference.s
+4-3bolt/lib/Rewrite/RewriteInstance.cpp
+24-32 files

LLVM/project 13b7f5dmlir/lib/Dialect/MemRef/Transforms FoldMemRefAliasOps.cpp, mlir/test/Dialect/MemRef fold-memref-alias-ops.mlir

[mlir][MemRef] Make fold-memref-alias-ops use memref interfaces

This replaces the large switch-cases and operation-specific patterns
in FoldMemRefAliashops with patterns that use the new
IndexedAccessOpInterface and IndexedMemCopyOpInterface, which will
allow us to remove the memref transforms' dependency on the NVGPU
dialect.

This does also resolve some bugs and potential unsoundnesses:
1. We will no longer fold in expand_shape into vector.load or
vector.transfer_read in cases where that would alter the strides
between dimensions in multi-dimensional loads. For example, if we have
a `vector.load %e[%i, %j, %k] : memref<8x8x9xf32>, vector<2x3xf32>`
where %e is
`expand_shape %m [[0], [1], [2. 3]] : memref<8x8x3x3xf32> to 8x8x9xf32,
we will no longer fold in that shape, since that would change which
value would be read (the previous patterns tried to account for this
but failed).
2. Subviews that have non-unit strides in positions that aren't being

    [15 lines not shown]
DeltaFile
+401-436mlir/lib/Dialect/MemRef/Transforms/FoldMemRefAliasOps.cpp
+292-1mlir/test/Dialect/MemRef/fold-memref-alias-ops.mlir
+693-4372 files

LLVM/project ec76473mlir/include/mlir/Interfaces VectorInterfaces.td VectorInterfaces.h

[mlir] Add [may]updateStartingPosition to VectorTransferOpInterface

This commit adds methods to VectorTransferOpInterface that allow
transfer operations to be queried for whether their base memref (or
tensor) and permutation map can be updated in some particular way and
then for performing this update. This is part of a series of changes
designed to make passes like fold-memref-alias-ops more generic,
allowing downstream operations, like IREE's transfer_gather, to
participate in them without needing to duplicate patterns.
DeltaFile
+67-1mlir/include/mlir/Interfaces/VectorInterfaces.td
+1-0mlir/include/mlir/Interfaces/VectorInterfaces.h
+68-12 files

LLVM/project 89d82dfmlir/include/mlir/Dialect/MemRef/IR MemRefOps.td, mlir/include/mlir/Dialect/NVGPU/IR NVGPUOps.td

[mlir] Implement indexed access op interfaces for memref, vector, gpu, nvgpu

This commit implements the IndexedAccessOpInterface and
IndexedMemCopyInterface for all operations in the memref and vector
dialects that it would appear to apply to. It follows the code in
FoldMemRefAliasOps and ExtractAddressComputations to define the
interface implementations. This commit also adds the interface to the
GPU subgroup MMA load and store operations and to any NVGPU operations
currently being handled by the in-memref transformations (there may be
more suitable operations in the NVGPU dialect, but I haven't gone
looking systematically)

This code will be tested by a later commit that updates
fold-memref-alias-ops.

Assisted-by: Claude Code, Cursor (interface boilerplate, sketching out
implementations)
DeltaFile
+162-0mlir/lib/Dialect/Vector/Transforms/IndexedAccessOpInterfaceImpl.cpp
+66-64mlir/include/mlir/Dialect/NVGPU/IR/NVGPUOps.td
+115-0mlir/lib/Dialect/GPU/Transforms/IndexedAccessOpInterfaceImpl.cpp
+81-18mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
+90-0mlir/lib/Dialect/NVGPU/Transforms/MemoryAccessOpInterfacesImpl.cpp
+36-8mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
+550-9015 files not shown
+678-9621 files

LLVM/project a38ac09clang/include/clang/Basic DiagnosticGroups.td DiagnosticSemaKinds.td

Reorganise permissive and strict diagnostic groups
DeltaFile
+59-12clang/include/clang/Basic/DiagnosticGroups.td
+7-10clang/include/clang/Basic/DiagnosticSemaKinds.td
+66-222 files

LLVM/project e1da082clang/include/clang/Analysis/Analyses/LifetimeSafety Facts.h, clang/lib/Analysis/LifetimeSafety Checker.cpp LifetimeAnnotations.cpp

use-after-invalidation
DeltaFile
+320-0clang/test/Sema/warn-lifetime-safety-invalidations.cpp
+70-5clang/lib/Analysis/LifetimeSafety/Checker.cpp
+72-0clang/lib/Analysis/LifetimeSafety/LifetimeAnnotations.cpp
+26-1clang/test/Sema/Inputs/lifetime-analysis.h
+25-0clang/include/clang/Analysis/Analyses/LifetimeSafety/Facts.h
+13-0clang/lib/Sema/AnalysisBasedWarnings.cpp
+526-69 files not shown
+579-815 files

LLVM/project 28de74ellvm/test/Transforms/SeparateConstOffsetFromGEP negative-i32-offset.ll

Fix additional regression test.
DeltaFile
+2-3llvm/test/Transforms/SeparateConstOffsetFromGEP/negative-i32-offset.ll
+2-31 files

LLVM/project 4c63510clang/test/SemaCXX warn-thread-safety-analysis.cpp

Thread Safety Analysis: Add literal-based alias test (#179041)

Add a simple literal-based alias test that shows that the recently fixed
value-based literal comparison works when resolving aliases.

NFC.
DeltaFile
+13-0clang/test/SemaCXX/warn-thread-safety-analysis.cpp
+13-01 files

LLVM/project cdab38fpolly/lib/External/isl isl_map_simplify.c isl_box.c, polly/lib/External/isl/interface extract_interface.cc

[Polly] Update isl to isl-0.27-77-g99a07a03 (#179350)

Update isl to include
https://repo.or.cz/isl.git/commit/99a07a039237f11bccc1ef80a7b6cc76ae5f98c5
which fixes #177808

Thanks @skimo-openhub for the fix and @Andarwinux for the crash report

Fixes: #177808
DeltaFile
+478-89polly/lib/External/isl/isl_map_simplify.c
+54-418polly/lib/External/isl/interface/extract_interface.cc
+425-0polly/lib/External/isl/interface/include/isl-interface/clang_wrap.h
+207-22polly/lib/External/isl/isl_box.c
+0-58polly/lib/External/isl/isl_test.c
+54-0polly/lib/External/isl/isl_test2.cc
+1,218-58726 files not shown
+1,483-63232 files

LLVM/project 350b138llvm/lib/Transforms/Vectorize VPlan.h

[VPlan] Improve code around ArrayRef construction (NFC) (#179191)

DeltaFile
+20-25llvm/lib/Transforms/Vectorize/VPlan.h
+20-251 files

LLVM/project cfe5d8bllvm/test/CodeGen/AMDGPU isel-amdgcn-cs-chain-intrinsic-w32.ll isel-amdgcn-cs-chain-intrinsic-w64.ll

[AMDGPU] Allow hoising of V_READFIRSTLANE_B32 for uniform operand

readfirstlane can be moved across control flow for uniform inputs.
The MachineInstr::NoConvergent attribute allows hoisting
which is otherwise prohibited for a convergent instruction.
DeltaFile
+82-82llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
+52-52llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
+24-24llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
+33-0llvm/test/CodeGen/AMDGPU/readanylane.ll
+16-16llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-intrinsic-dyn-vgpr-w32.ll
+5-5llvm/test/CodeGen/AMDGPU/dag-preserve-disjoint-flag.ll
+212-1796 files not shown
+229-18412 files

LLVM/project 28d900allvm/include/llvm/CodeGen SelectionDAGNodes.h, llvm/lib/CodeGen/SelectionDAG InstrEmitter.cpp SelectionDAGDumper.cpp

Add SDNodeFlag::NoConvergent
DeltaFile
+6-1llvm/include/llvm/CodeGen/SelectionDAGNodes.h
+3-0llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
+3-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
+12-13 files

LLVM/project 2fefdd2llvm/test/CodeGen/AMDGPU isel-amdgcn-cs-chain-intrinsic-w32.ll isel-amdgcn-cs-chain-intrinsic-w64.ll

[AMDGPU] Allo hoising of V_READFIRSTLANE_B32 for uniform operand

readfirstlane can be moved across control flow for uniform inputs.
The MachineInstr::NoConvergent attribute allows hoisting
which is otherwise prohibited for a convergent instruction.
DeltaFile
+82-82llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w32.ll
+52-52llvm/test/CodeGen/AMDGPU/isel-amdgcn-cs-chain-intrinsic-w64.ll
+24-24llvm/test/CodeGen/AMDGPU/llvm.amdgcn.make.buffer.rsrc.ll
+33-0llvm/test/CodeGen/AMDGPU/readanylane.ll
+16-16llvm/test/CodeGen/AMDGPU/isel-amdgpu-cs-chain-intrinsic-dyn-vgpr-w32.ll
+5-5llvm/test/CodeGen/AMDGPU/dag-preserve-disjoint-flag.ll
+212-1799 files not shown
+241-18515 files

LLVM/project 0c07203llvm/test/Transforms/LowerMatrixIntrinsics multiply-fused-dominance.ll

[Matrix] Add test where pointer phi currently blocks tiling.

Add a test with a phi node currently unnecessarily preventing tiling.
DeltaFile
+49-0llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
+49-01 files

LLVM/project c3a2597compiler-rt/lib/scudo/standalone primary64.h

[scudo] Add resident pages info to getStats (#178969)

Adding resident pages field to the primary allocator's getStats function
makes it consistent with the secondary allocator's getStats function.
DeltaFile
+6-1compiler-rt/lib/scudo/standalone/primary64.h
+6-11 files

LLVM/project b737725llvm/include/llvm/Transforms/IPO Attributor.h, llvm/lib/Passes PassBuilderPipelines.cpp

Attributor: Add -light otions to -attributor-enable flag

Add light, module-light, and cgscc-light options. This just
supplements the existing flag to use the light variants of the
pass in place of the full versions.

Way back when attributor-light was added in 400fde92963588ae2b,
there was no way to change the pass pipeline to use it. There
were some benchmarks posted, but I don't see precisely how it
was benchmarked in the pipeline.

I'm also surprised this option is only additive, and doesn't remove
FunctionAttrs. If this is to be the option to drive the enablement,
I would expect it to not run the old passes.
DeltaFile
+24-0llvm/test/Other/opt-pipeline-attributor-enable.ll
+10-0llvm/lib/Passes/PassBuilderPipelines.cpp
+5-1llvm/include/llvm/Transforms/IPO/Attributor.h
+39-13 files

LLVM/project e8f22b8llvm/lib/Target/AMDGPU AMDGPURegBankLegalize.cpp, llvm/test/CodeGen/AMDGPU llvm.is.fpclass.ll llvm.is.fpclass.f16.ll

[AMDGPU][GlobalISel] Add COPY_SCC_VCC combine for VCC-SGPR-VGPR pattern

Eliminate VCC->SGPR->VGPR bounce created by UniInVcc when the uniform boolean
result is consumed by a VALU instruction that requires the input in VGPRs.
DeltaFile
+83-207llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.ll
+43-103llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
+30-50llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-eliminate-copy-scc-vcc.mir
+60-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalize.cpp
+216-3604 files

LLVM/project d31b259llvm/test/CodeGen/AMDGPU/GlobalISel regbanklegalize-eliminate-copy-scc-vcc.mir

[AMDGPU][NFC] Pre-commit test for COPY_SCC_VCC combine
DeltaFile
+333-0llvm/test/CodeGen/AMDGPU/GlobalISel/regbanklegalize-eliminate-copy-scc-vcc.mir
+333-01 files

LLVM/project 7a2d46cllvm/lib/IR AutoUpgrade.cpp, llvm/test/Verifier issue176674.ll issue176674_1.ll

Revert "[AutoUpgrade] Prevent deletion of call if uses still exist (#177606)" (#179340)

This reverts commit 3007e2f050bd36e5e8dab68a5c9abbfbf4561314 (#177606)

Buildbot:

```
Step 2 (annotate) failure: 'python ../sanitizer_buildbot/sanitizers/zorg/buildbot/builders/sanitizers/buildbot_selector.py' (failure)
...
[9/137] Linking CXX shared module unittests/Passes/Plugins/TestPlugin.so
[10/137] Linking CXX executable bin/llvm-config
[11/137] Building CXX object lib/IR/CMakeFiles/LLVMCore.dir/AutoUpgrade.cpp.o
[12/137] Linking CXX static library lib/libLLVMCore.a
[13/137] Generating VCSVersion.inc
[14/135] Linking CXX executable bin/apinotes-test
[15/135] Linking CXX executable bin/llvm-cxxmap
[16/135] Linking CXX executable bin/llvm-bcanalyzer
[17/135] Linking CXX executable bin/llvm-ctxprof-util
[18/135] Linking CXX executable bin/llvm-objcopy

    [6 lines not shown]
DeltaFile
+25-40llvm/lib/IR/AutoUpgrade.cpp
+0-9llvm/test/Verifier/issue176674.ll
+0-9llvm/test/Verifier/issue176674_1.ll
+25-583 files

LLVM/project c6086ddllvm/lib/Target/RISCV RISCVTargetObjectFile.cpp RISCVTargetObjectFile.h, llvm/test/CodeGen/RISCV macho-relocs.ll

[RISC-V][Mach-O] Add codegen support for Mach-O object format. (#178263)

This commit enables code generation for RISC-V targeting Mach-O:

- Implement RISCVMachOTargetObjectFile::getNameWithPrefix method to
handle Mach-O symbol naming requirements.
- Use shouldAssumeDSOLocal() in RISCVTargetLowering::lowerGlobalAddress
instead of isDSOLocal() for proper Mach-O semantics in global address
lowering. Note that this is a NFC for RISCV when targeting ELF.
- Add comprehensive tests for various relocation types (direct globals,
GOT-based addressing, static vs PIC models).
- Test function calls, tail calls, and various symbol reference patterns
including addends and subtractions.

This patch is based on code originally written by Tim Northover.
DeltaFile
+96-0llvm/test/CodeGen/RISCV/macho-relocs.ll
+9-0llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
+3-0llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
+2-1llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+110-14 files

LLVM/project 1b30f93clang/include/clang/Analysis/Analyses ThreadSafetyTraverse.h

[ThreadSafety] Make header compile standalone. NFC.
DeltaFile
+1-0clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h
+1-01 files

LLVM/project 03f53bcllvm/lib/MC MCAsmInfoGOFF.cpp, llvm/lib/Target/SystemZ SystemZAsmPrinter.cpp SystemZAsmPrinter.h

Implement lowerConstant for z/OS
DeltaFile
+48-0llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
+1-1llvm/lib/MC/MCAsmInfoGOFF.cpp
+1-0llvm/lib/Target/SystemZ/SystemZAsmPrinter.h
+50-13 files

LLVM/project af836ffllvm/include/llvm/CodeGen SelectionDAGNodes.h TargetLowering.h, llvm/lib/CodeGen/GlobalISel IRTranslator.cpp

[CodeGen] Add getTgtMemIntrinsic overload for multiple memory operands (NFC) (#175843)

There are target intrinsics that logically require two MMOs, such as
llvm.amdgcn.global.load.lds, which is a copy from global memory to LDS,
so there's both a load and a store to different addresses.

Add an overload of getTgtMemIntrinsic that produces intrinsic info in a
vector, and implement it in terms of the existing (now protected)
overload.

GlobalISel and SelectionDAG paths are updated to support multiple MMOs.
The main part of this change is supporting multiple MMOs in
MemIntrinsicNodes.

Converting the backends to using the new overload is a fairly mechanical step
that is done in a separate change in the hope that that allows reducing merging
pains during review and for downstreams. A later change will then enable
using multiple MMOs in AMDGPU.
DeltaFile
+86-32llvm/include/llvm/CodeGen/SelectionDAGNodes.h
+64-25llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+38-29llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+19-28llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
+20-3llvm/include/llvm/CodeGen/TargetLowering.h
+17-3llvm/include/llvm/CodeGen/SelectionDAG.h
+244-1204 files not shown
+250-12410 files

LLVM/project 4b893d2mlir/include/mlir/Dialect/Tensor/IR TensorOps.td, mlir/lib/Dialect/Tensor/IR TensorOps.cpp

[mlir][tensor] Emit diagnostics for unranked tensor reshape ops instead of asserting (#179005)

This PR updates tensor.expand_shape and tensor.collapse_shape ODS
definitions to require ranked tensor operands/results by switching from
AnyTensor to AnyRankedTensor.

Fixes https://github.com/llvm/llvm-project/issues/178228
DeltaFile
+16-0mlir/test/Dialect/Tensor/invalid.mlir
+6-3mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
+3-3mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
+25-63 files