LLVM/project 54dc59fclang/unittests/Analysis/FlowSensitive MockHeaders.cpp, llvm/test/Analysis/CostModel/AArch64 sve-cast.ll cast.ll

Merge branch 'main' into users/kparzysz/q04-optional-arg-requires
DeltaFile
+1,938-1,938llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
+962-962llvm/test/Analysis/CostModel/AArch64/cast.ll
+1,742-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insertelement-rv32.mir
+1,731-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insertelement-rv64.mir
+1,001-3clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
+644-306mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+8,018-3,209828 files not shown
+25,153-10,016834 files

LLVM/project 92caf1allvm/test/CodeGen/AMDGPU insert-delay-alu-bug.ll

[AMDGPU] Remove obsolete FIXME from test

This was fixed by https://reviews.llvm.org/D145232
DeltaFile
+0-1llvm/test/CodeGen/AMDGPU/insert-delay-alu-bug.ll
+0-11 files

LLVM/project a45bbd4flang/include/flang/Semantics symbol.h, flang/lib/Semantics symbol.cpp

[flang][OpenMP] Dump requirement clauses/flags in WithOmpDeclarative (#163450)

DeltaFile
+31-1flang/lib/Semantics/symbol.cpp
+14-0flang/test/Semantics/OpenMP/dump-requires-details.f90
+3-0flang/include/flang/Semantics/symbol.h
+48-13 files

LLVM/project 34fdd74llvm/test/Transforms/LoopVectorize operand-bundles.ll

[LV] Add coverage for operand-bundles (#163417)

DeltaFile
+227-0llvm/test/Transforms/LoopVectorize/operand-bundles.ll
+227-01 files

LLVM/project 0792478llvm/test/Analysis/ScalarEvolution ne-guard-multiple-trip-count.ll

[SCEV] Add tests with multiple NE guards and different orders.

Add additional test coverage for using NE guards added in 2d027260b
(https://github.com/llvm/llvm-project/pull/160500)
DeltaFile
+72-0llvm/test/Analysis/ScalarEvolution/ne-guard-multiple-trip-count.ll
+72-01 files

LLVM/project 0479b56clang/unittests/Analysis/FlowSensitive MockHeaders.cpp, llvm/test/Analysis/CostModel/AArch64 sve-cast.ll cast.ll

Merge branch 'main' into users/kparzysz/q03-dump-requires-details
DeltaFile
+1,938-1,938llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
+962-962llvm/test/Analysis/CostModel/AArch64/cast.ll
+1,742-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insertelement-rv32.mir
+1,731-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insertelement-rv64.mir
+1,001-3clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
+644-306mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+8,018-3,209823 files not shown
+24,820-9,997829 files

LLVM/project 0a47024llvm/lib/Transforms/Vectorize VPlanPatternMatch.h VPlanRecipes.cpp

[VPlan] Improve code around canConstantBeExtended (NFC) (#161652)

Follow up on 7c4f188 ([LV] Support multiplies by constants when forming
scaled reductions), introducing m_APInt, and improving code around
canConstantBeExtended: we change canConstantBeExtended to take an APInt.
DeltaFile
+20-4llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
+6-6llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+4-4llvm/lib/Transforms/Vectorize/VPlan.cpp
+3-3llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+1-1llvm/lib/Transforms/Vectorize/VPlanHelpers.h
+34-185 files

LLVM/project d55879dflang/include/flang/Semantics symbol.h, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][OpenMP] Emit requirements in module files (#163449)

For each program unit, collect the set of requirements from REQUIRES
directives in the source, and modules used by the program unit, and add
them to the details of the program unit symbol.

The requirements in the symbol details as now stored as clauses. Since
requirements need to be emitted in the module files as OpenMP
directives, this makes the clause emission straightforward via
getOpenMPClauseName.

Each program unit, including modules, the corresponding symbol will have
the transitive closure of the requirements for everything contained or
used in that program unit.
DeltaFile
+48-113flang/lib/Semantics/resolve-directives.cpp
+39-0flang/test/Semantics/OpenMP/requires-modfile.f90
+37-0flang/lib/Semantics/mod-file.cpp
+11-11flang/include/flang/Semantics/symbol.h
+9-10flang/lib/Lower/OpenMP/OpenMP.cpp
+5-1flang/test/Semantics/OpenMP/requires09.f90
+149-1352 files not shown
+149-1408 files

LLVM/project 8305e19mlir/lib/Dialect/Shard/IR ShardOps.cpp

[MLIR] Apply clang-tidy fixes for misc-use-internal-linkage in ShardOps.cpp (NFC)
DeltaFile
+1-1mlir/lib/Dialect/Shard/IR/ShardOps.cpp
+1-11 files

LLVM/project 406c7c9mlir/lib/Conversion/MathToSPIRV MathToSPIRV.cpp

[MLIR] Apply clang-tidy fixes for readability-identifier-naming in MathToSPIRV.cpp (NFC)
DeltaFile
+2-2mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
+2-21 files

LLVM/project 1adbae9mlir/test/lib/Dialect/Linalg TestLinalgTransforms.cpp

[MLIR] Apply clang-tidy fixes for readability-simplify-boolean-expr in TestLinalgTransforms.cpp (NFC)
DeltaFile
+2-4mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
+2-41 files

LLVM/project bbdff44mlir/lib/Dialect/Linalg/TransformOps LinalgTransformOps.cpp

[MLIR] Apply clang-tidy fixes for readability-identifier-naming in LinalgTransformOps.cpp (NFC)
DeltaFile
+5-5mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
+5-51 files

LLVM/project 9d0c211flang/include/flang/Parser parse-tree.h, flang/lib/Lower/OpenMP Clauses.cpp

[flang][OpenMP] Frontend support for ATTACH modifier (#163608)

Add parsing, semantic checks, but no lowering.
DeltaFile
+64-0flang/test/Parser/OpenMP/map-modifiers-v61.f90
+49-0flang/test/Semantics/OpenMP/map-modifiers-v61.f90
+44-5flang/lib/Semantics/check-omp-structure.cpp
+16-3flang/include/flang/Parser/parse-tree.h
+17-0flang/lib/Lower/OpenMP/Clauses.cpp
+8-8llvm/unittests/Frontend/OpenMPDecompositionTest.cpp
+198-169 files not shown
+252-2215 files

LLVM/project 17e8bd9llvm/lib/Target/LoongArch LoongArchInstrInfo.cpp

support vectors
DeltaFile
+62-9llvm/lib/Target/LoongArch/LoongArchInstrInfo.cpp
+62-91 files

LLVM/project ea61f35clang/unittests/Analysis/FlowSensitive MockHeaders.cpp, llvm/test/Analysis/CostModel/AArch64 sve-cast.ll cast.ll

Merge branch 'main' into users/kparzysz/q02-module-requires
DeltaFile
+1,938-1,938llvm/test/Analysis/CostModel/AArch64/sve-cast.ll
+962-962llvm/test/Analysis/CostModel/AArch64/cast.ll
+1,742-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insertelement-rv32.mir
+1,731-0llvm/test/CodeGen/RISCV/GlobalISel/legalizer/rvv/legalize-insertelement-rv64.mir
+1,001-3clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
+644-306mlir/include/mlir/Dialect/Tosa/IR/TosaComplianceData.h.inc
+8,018-3,209804 files not shown
+24,556-9,961810 files

LLVM/project c8b8fa2flang/lib/Semantics check-omp-structure.cpp

[flang][OpenMP] Format check-omp-structure.cpp, NFC (#163750)

Only a couple of changes, including adding two empty comments to resolve
differences between different versions of clang-format.
DeltaFile
+4-3flang/lib/Semantics/check-omp-structure.cpp
+4-31 files

LLVM/project 8f04f07llvm/lib/Transforms/Vectorize VPlanTransforms.cpp

[VPlan] Clarify legality check in licm (NFC) (#162486)

Recipes in licm are safe to hoist if the legality check passes, and the
recipe is guaranteed to execute; the single successor of the vector
preheader is the vector loop region. Clarify this in the code structure
and comments.
DeltaFile
+12-7llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+12-71 files

LLVM/project bd79667flang/include/flang/Semantics openmp-utils.h, flang/lib/Semantics resolve-directives.cpp openmp-utils.cpp

[flang][OpenMP] Set REQUIRES flags on program unit symbol (#163448)

REQUIRES clauses apply to the compilation unit, which the OpenMP spec
defines as the program unit in Fortran.

Don't set REQUIRES flags on all containing scopes, only on the containng
program unit, where flags coming from different directives are gathered.
If we wanted to set the flags on subprograms, we would need to first
accummulate all of them, then propagate them down to all subprograms.
That is not done as it is not necessary (the containing program unit is
always available).
DeltaFile
+30-32flang/lib/Semantics/resolve-directives.cpp
+22-1flang/lib/Semantics/openmp-utils.cpp
+1-0flang/include/flang/Semantics/openmp-utils.h
+53-333 files

LLVM/project c2eed93llvm/utils unicode-case-fold.py

[llvm][utils] Remove Python2 comaptaible import in unicode-case-fold.py

These imports got moved around in Python 3.0
(https://docs.python.org/3/whatsnew/3.0.html#library-changes).

LLVM requires Python >= 3.8 so we can assume the Python3 names
are available.
DeltaFile
+1-5llvm/utils/unicode-case-fold.py
+1-51 files

LLVM/project 4ae1233llvm/test/CodeGen/X86 var-permute-128.ll

[X86] var-permute-128.ll - fix AVX512F/AVX512BW check prefix clashes (#163745)

Fix check prefix clash warnings in update_llc_test_checks.py by adding an additional prefix for AVX512F and AVX512BW capable targets
DeltaFile
+52-3llvm/test/CodeGen/X86/var-permute-128.ll
+52-31 files

LLVM/project 41b1ff8llvm/test/CodeGen/X86 srem-seteq-illegal-types.ll urem-seteq-illegal-types.ll

[X86] rem-seteq-illegal-types.ll - remove unnecessary X64 RUN (#163742)

X64 triples include SSE2 by default, which we already test this, and it was causing check prefix clash warnings in update_llc_test_checks.py
DeltaFile
+0-1llvm/test/CodeGen/X86/srem-seteq-illegal-types.ll
+0-1llvm/test/CodeGen/X86/urem-seteq-illegal-types.ll
+0-22 files

LLVM/project 88b7707clang/cmake/modules CMakeLists.txt

fix clang_cmake_builddir (#161220)

When building llvm from a subdirectory (like clspv does)
`CMAKE_BINARY_DIR` is at the top of the build directory.

When building runtimes (libclc for example), the build fails looking for
clang (through `find_package` looking at `LLVM_BINARY_DIR` with
`NO_DEFAULT_PATH` & `NO_CMAKE_FIND_ROOT_PATH`) because clang is not in
`LLVM_BINARY_DIR`.

Fix that issue by setting `clang_cmake_builddir` the same way we set
`llvm_cmake_builddir` from `LLVM_BINARY_DIR`.

For default llvm build (using llvm as the main cmake project), it should
not change anything.
For standalone clang build, keep the actual value as libclc cannot be
built that way.
DeltaFile
+8-4clang/cmake/modules/CMakeLists.txt
+8-41 files

LLVM/project 44c9692lld/utils benchmark.py

[lld][utils] Remove Python2 compatible imports in benchmark.py

These imports were moved around in Python 3.0
(https://docs.python.org/3/whatsnew/3.0.html#library-changes).

LLVM requires Python >= 3.8 so we can expect the Python3 names
to exist.
DeltaFile
+2-7lld/utils/benchmark.py
+2-71 files

LLVM/project 51964b1mlir/include/mlir/Analysis SliceAnalysis.h, mlir/include/mlir/Query/Matcher SliceMatchers.h

[mlir][Analysis] Remove return value from `getBackwardSlice`
DeltaFile
+39-55mlir/lib/Analysis/SliceAnalysis.cpp
+4-8mlir/include/mlir/Analysis/SliceAnalysis.h
+3-9mlir/lib/Dialect/Linalg/Transforms/HoistPadding.cpp
+3-8mlir/lib/Transforms/Utils/RegionUtils.cpp
+3-7mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
+2-6mlir/include/mlir/Query/Matcher/SliceMatchers.h
+54-934 files not shown
+59-10910 files

LLVM/project 0b94d38flang/lib/Semantics check-omp-structure.cpp

[flang][OpenMP] Format check-omp-structure.cpp, NFC

Only a couple of changes, including adding two empty comments to resolve
differences between different versions of clang-format.
DeltaFile
+4-3flang/lib/Semantics/check-omp-structure.cpp
+4-31 files

LLVM/project 0de87d2flang/lib/Lower/OpenMP ClauseProcessor.cpp, flang/test/Lower/OpenMP/Todo attach-modifier.f90

Emit TODO message for ATTACH modifier
DeltaFile
+9-0flang/test/Lower/OpenMP/Todo/attach-modifier.f90
+2-1flang/lib/Lower/OpenMP/ClauseProcessor.cpp
+11-12 files

LLVM/project 6ea5456llvm/utils/Misc zkill

[llvm][utils] Run 2to3 on zkill script

This updates Python2 print statements to Python3 print functions,
and makes lists out of some things that are iterators in Python3.

The latter we could not bother with as some code is fine with
iterators, but it does keep the script behaving exactly as it was
in case anyone does try to use this.

(and it's clear it was purely 2to3 changes, no hand editing)
DeltaFile
+7-7llvm/utils/Misc/zkill
+7-71 files

LLVM/project cb1530fllvm/lib/Target/AArch64 SVEInstrFormats.td AArch64SVEInstrInfo.td, llvm/test/MC/AArch64/SVE2p3 arithmetic.s arithmetic-diagnostics.s

[AArch64][llvm] Armv9.7-A: Add support for SVE2p3 arithmetic operations

Add instructions for SVE2p3 arithmetic operations:
  - `ADDQP`    (add pairwise within quadword vector segments)
  - `ADDSUBP`  (add subtract pairwise)
  - `SABAL`    (two-way signed absolute difference sum and accumulate long)
  - `SUBP`     (subtract pairwise)
  - `UABAL`    (two-way unsigned absolute difference sum and accumulate long)

as documented here:

  * https://developer.arm.com/documentation/ddi0602/2025-09/
  * https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
DeltaFile
+275-0llvm/test/MC/AArch64/SVE2p3/arithmetic.s
+147-0llvm/test/MC/AArch64/SVE2p3/arithmetic-diagnostics.s
+19-13llvm/lib/Target/AArch64/SVEInstrFormats.td
+18-0llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+14-1llvm/unittests/TargetParser/TargetParserTest.cpp
+10-3llvm/lib/Target/AArch64/AArch64.td
+483-178 files not shown
+530-2114 files

LLVM/project 768e022llvm/lib/Target/AArch64 AArch64SystemOperands.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

[AArch64][llvm] Armv9.7-A: Add support for GICv5 (FEAT_GCIE)

Add new instruction and system registers that are specified in the
Generic Interrupt Controller Architecture v5 (GICv5) standard,
announced here:

  * https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/introducing-gicv5

and documented here:

  * https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
  * https://developer.arm.com/documentation/ddi0602/2025-09/

Co-authored-by: Jack Styles <jack.styles at arm.com>
DeltaFile
+985-0llvm/test/MC/AArch64/armv9.7a-gcie.s
+208-0llvm/lib/Target/AArch64/AArch64SystemOperands.td
+81-4llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+77-2llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
+24-0llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
+21-0llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
+1,396-66 files not shown
+1,411-612 files

LLVM/project a0d79f9llvm/lib/Target/AArch64 AArch64SystemOperands.td, llvm/test/MC/AArch64 armv8.4a-mpam.s

[AArch64][llvm] Remove FeatureMPAM guards for parity with gcc

Remove `AArch64::FeatureMPAM` guards from some MPAM system registers,
since these system registers are not any under feature guard for gcc.
DeltaFile
+0-57llvm/test/MC/AArch64/armv8.4a-mpam.s
+18-21llvm/test/MC/Disassembler/AArch64/armv8.4a-mpam.txt
+0-2llvm/lib/Target/AArch64/AArch64SystemOperands.td
+18-803 files