LLVM/project 2914642llvm/lib/Target/AMDGPU SIInstrInfo.h

[AMDGPU] NFC: Add Opcode variants for TII->isMFMA* (#163874)

Adds a couple missing variants based on opcode.
DeltaFile
+9-0llvm/lib/Target/AMDGPU/SIInstrInfo.h
+9-01 files

LLVM/project 32958e2clang/include/clang/Analysis/FlowSensitive/Models UncheckedStatusOrAccessModel.h, clang/lib/Analysis/FlowSensitive/Models UncheckedStatusOrAccessModel.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+3,200-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
+660-0clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
+157-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
+114-0clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
+34-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp
+7-7clang/unittests/Analysis/FlowSensitive/MockHeaders.cpp
+4,172-74 files not shown
+4,178-710 files

LLVM/project d071f8fclang/include/clang/Analysis/FlowSensitive/Models UncheckedStatusOrAccessModel.h, clang/lib/Analysis/FlowSensitive/Models UncheckedStatusOrAccessModel.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+3,028-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.cpp
+612-0clang/lib/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.cpp
+157-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTestFixture.h
+114-0clang/include/clang/Analysis/FlowSensitive/Models/UncheckedStatusOrAccessModel.h
+34-0clang/unittests/Analysis/FlowSensitive/UncheckedStatusOrAccessModelTest.cpp
+2-0clang/unittests/Analysis/FlowSensitive/CMakeLists.txt
+3,947-04 files not shown
+3,952-110 files

LLVM/project 9adeac7llvm/lib/Target/AArch64 AArch64InstrInfo.td

(NFC) Tidy up alignment/formatting in AArch64/AArch64InstrInfo.td

It was noted in a code-review for earlier changes in this stack
that some of the new 9.7 entries were mis-aligned. But actually,
many of the entries were, so I've tidied them all up.
DeltaFile
+104-123llvm/lib/Target/AArch64/AArch64InstrInfo.td
+104-1231 files

LLVM/project dc9ac80llvm/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

LLVM/project c3d3553llvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! [AArch64][llvm] Armv9.7-A: Add support for new Advanced SIMD (Neon) instructions

Remove timm32_1_16 and timm32_1_8, as they're superfluous.
DeltaFile
+0-15llvm/lib/Target/AArch64/AArch64InstrFormats.td
+0-151 files

LLVM/project 9f29d87llvm/lib/Target/AArch64 SVEInstrFormats.td AArch64SVEInstrInfo.td, llvm/test/MC/AArch64/SME2p3 luti6-diagnostics.s

fixup! [AArch64][llvm] Armv9.7-A: Add support for SVE2p3 LUTI6 operations

Test movprfx properly and remove parameters from sve2_luti6_vector
since it's only used once.
DeltaFile
+8-8llvm/test/MC/AArch64/SME2p3/luti6-diagnostics.s
+8-8llvm/test/MC/AArch64/SVE2p3/luti6-diagnostics.s
+4-8llvm/lib/Target/AArch64/SVEInstrFormats.td
+1-1llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+21-254 files

LLVM/project 625c2d4llvm/lib/Target/AArch64 SVEInstrFormats.td AArch64SVEInstrInfo.td, llvm/test/MC/AArch64/SVE2p3 qshrn-diagnostics.s qshrn.s

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

Add instructions for SVE2p3 shift operations:
  - SQRSHRN
  - SQRSHRUN
  - SQSHRN
  - SQSHRUN
  - UQRSHRN
  - UQSHRN

as documented here:

  * https://developer.arm.com/documentation/ddi0602/2025-09/
  * https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
DeltaFile
+266-0llvm/test/MC/AArch64/SVE2p3/qshrn-diagnostics.s
+255-0llvm/test/MC/AArch64/SVE2p3/qshrn.s
+15-7llvm/lib/Target/AArch64/SVEInstrFormats.td
+14-3llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+550-104 files

LLVM/project 9cd6e3cllvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/test/MC/AArch64 neon-fdot.s neon-fdot-diagnostics.s

[AArch64][llvm] Armv9.7-A: Add support for new Advanced SIMD (Neon) instructions

Add support for new Advanced SIMD (Neon) instructions:
 - FDOT (half-precision to single-precision, by element)
 - FDOT (half-precision to single-precision, vector)
 - FMMLA (half-precision, non-widening)
 - FMMLA (widening, half-precision to single-precision)

as documented here:

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

Co-authored-by: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Co-authored-by: Virginia Cangelosi <virginia.cangelosi at arm.com>
DeltaFile
+147-0llvm/test/MC/AArch64/neon-fdot.s
+59-0llvm/test/MC/AArch64/neon-fdot-diagnostics.s
+40-2llvm/lib/Target/AArch64/AArch64InstrFormats.td
+37-0llvm/test/MC/AArch64/neon-fmmla.s
+37-0llvm/test/MC/AArch64/neon-fmmla-HtoS.s
+29-3llvm/unittests/TargetParser/TargetParserTest.cpp
+349-57 files not shown
+424-713 files

LLVM/project 0531c1allvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! [AArch64][llvm] Armv9.7-A: Add support for SVE2p3 LUTI6 operations

The code in tryParseVectorList() should only apply to `luti6` instructions
DeltaFile
+7-5llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+7-51 files

LLVM/project 294ced1llvm/lib/Target/AArch64 SMEInstrFormats.td SVEInstrFormats.td, llvm/test/MC/AArch64/SME2p3 luti6.s luti6-diagnostics.s

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

Add instructions for SVE2p3 LUTI6 operations:
  - LUTI6 (16-bit)
  - LUTI6 (8-bit)
  - LUTI6 (vector, 16-bit)
  - LUTI6 (table, four registers, 8-bit)
  - LUTI6 (table, single, 8-bit)

as documented here:

  * https://developer.arm.com/documentation/ddi0602/2025-09/
  * https://developer.arm.com/documentation/109697/2025_09/2025-Architecture-Extensions
DeltaFile
+472-0llvm/test/MC/AArch64/SME2p3/luti6.s
+176-0llvm/test/MC/AArch64/SME2p3/luti6-diagnostics.s
+115-0llvm/test/MC/AArch64/SVE2p3/luti6.s
+74-0llvm/lib/Target/AArch64/SMEInstrFormats.td
+70-0llvm/test/MC/AArch64/SVE2p3/luti6-diagnostics.s
+31-4llvm/lib/Target/AArch64/SVEInstrFormats.td
+938-45 files not shown
+977-411 files

LLVM/project 3bf5f7cllvm/test/MC/AArch64/SVE2p3 qshrn-diagnostics.s

fixup! [AArch64][llvm] Armv9.7-A: Add support for SVE2p3 shift operations

Add extra testcases for non-consecutive vectors, and sort out movprfx test
DeltaFile
+41-12llvm/test/MC/AArch64/SVE2p3/qshrn-diagnostics.s
+41-121 files

LLVM/project 485a25ellvm/test/MC/AArch64/SVE2p3 cvt.s

fixup! [AArch64][llvm] Armv9.7-A: Add support for SVE2p3 CVT operations

Remove superfluous RUN lines
DeltaFile
+0-15llvm/test/MC/AArch64/SVE2p3/cvt.s
+0-151 files

LLVM/project d0cee69libcxx/include/__algorithm fill_n.h fill.h, libcxx/test/std/algorithms/alg.modifying.operations/alg.fill fill.pass.cpp fill_n.pass.cpp

[libc++] Optimize std::{,ranges}::{fill,fill_n} for segmented iterators (#132665)

This patch optimizes `std::fill`, `std::fill_n`, `std::ranges::fill`,
and `std::ranges::fill_n` for segmented iterators, achieving substantial
performance improvements. Specifically, for `deque<int>` iterators, the
performance improvements are above 10x for all these algorithms. The
optimization also enables filling segmented memory of `deque<int>` to
approach the performance of filling contiguous memory of `vector<int>`.


Benchmark results comparing the before and after implementations are
provided below. For additional context, we’ve included `vector<int>`
results, which remain unchanged, as this patch specifically targets
segmented iterators and leaves non-segmented iterator behavior
untouched.



Fixes two subtasks outlined in #102817.

    [68 lines not shown]
DeltaFile
+38-10libcxx/include/__algorithm/fill_n.h
+28-8libcxx/include/__algorithm/fill.h
+23-0libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill.pass.cpp
+23-0libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/fill_n.pass.cpp
+22-0libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill_n.pass.cpp
+22-0libcxx/test/std/algorithms/alg.modifying.operations/alg.fill/ranges.fill.pass.cpp
+156-182 files not shown
+166-248 files

LLVM/project 72604c2libc/config/linux/aarch64 entrypoints.txt, libc/config/linux/riscv entrypoints.txt

[libc][stdlib][annex_k] Add set_constraint_handler_s.
DeltaFile
+28-0libc/src/stdlib/set_constraint_handler_s.cpp
+21-0libc/src/stdlib/set_constraint_handler_s.h
+11-0libc/src/stdlib/CMakeLists.txt
+7-0libc/include/stdlib.yaml
+1-0libc/config/linux/riscv/entrypoints.txt
+1-0libc/config/linux/aarch64/entrypoints.txt
+69-01 files not shown
+70-07 files

LLVM/project 71bcc2alibc/src/__support/annex_k constraint_macros.h CMakeLists.txt

[libc][annex_k] Add libc_constraint_handler macros.
DeltaFile
+44-0libc/src/__support/annex_k/constraint_macros.h
+9-0libc/src/__support/annex_k/CMakeLists.txt
+53-02 files

LLVM/project 1addccalibc/include/llvm-libc-types errno_t.h

change clarifying comment
DeltaFile
+6-3libc/include/llvm-libc-types/errno_t.h
+6-31 files

LLVM/project 65e8394libc/config/linux/aarch64 entrypoints.txt, libc/config/linux/riscv entrypoints.txt

[libc][annex_k] Add libannex_k as build target in LLVM libc.
DeltaFile
+6-3libc/lib/CMakeLists.txt
+3-0libc/config/linux/aarch64/entrypoints.txt
+3-0libc/config/linux/riscv/entrypoints.txt
+3-0libc/config/linux/x86_64/entrypoints.txt
+15-34 files

LLVM/project 387bde0libc/src/__support/annex_k libc_constraint_handler.h CMakeLists.txt

[libc][annex_k] Add libc_constraint_handler.
DeltaFile
+26-0libc/src/__support/annex_k/libc_constraint_handler.h
+9-0libc/src/__support/annex_k/CMakeLists.txt
+35-02 files

LLVM/project a82606elibc/hdr/types constraint_handler_t.h CMakeLists.txt, libc/include CMakeLists.txt stdlib.yaml

[libc][annex_k] Add constraint_handler_t.
DeltaFile
+21-0libc/include/llvm-libc-types/constraint_handler_t.h
+18-0libc/hdr/types/constraint_handler_t.h
+9-0libc/hdr/types/CMakeLists.txt
+2-0libc/include/llvm-libc-types/CMakeLists.txt
+1-0libc/include/CMakeLists.txt
+1-0libc/include/stdlib.yaml
+52-06 files

LLVM/project e411bb5libc/hdr/types rsize_t.h CMakeLists.txt, libc/include/llvm-libc-types rsize_t.h CMakeLists.txt

[libc][annex_k] Add rsize_t.
DeltaFile
+23-0libc/hdr/types/rsize_t.h
+18-0libc/include/llvm-libc-types/rsize_t.h
+8-0libc/hdr/types/CMakeLists.txt
+1-0libc/include/llvm-libc-types/CMakeLists.txt
+50-04 files

LLVM/project d4fdba1libc/include stdlib.yaml, libc/src/__support/annex_k abort_handler_s.h CMakeLists.txt

[libc][annex_k] Add abort_handler_s.
DeltaFile
+43-0libc/src/__support/annex_k/abort_handler_s.h
+22-0libc/src/stdlib/abort_handler_s.h
+20-0libc/src/stdlib/abort_handler_s.cpp
+13-1libc/include/stdlib.yaml
+12-0libc/src/__support/annex_k/CMakeLists.txt
+10-0libc/src/stdlib/CMakeLists.txt
+120-15 files not shown
+134-411 files

LLVM/project 5a59294libc/include/llvm-libc-types CMakeLists.txt

change location
DeltaFile
+1-2libc/include/llvm-libc-types/CMakeLists.txt
+1-21 files

LLVM/project 55a25d4libc/config/linux/aarch64 entrypoints.txt, libc/config/linux/riscv entrypoints.txt

[libc][stdlib][annex_k] Add ignore_handler_s.
DeltaFile
+22-0libc/src/stdlib/ignore_handler_s.h
+16-0libc/src/stdlib/ignore_handler_s.cpp
+13-0libc/src/stdlib/CMakeLists.txt
+9-0libc/include/stdlib.yaml
+1-0libc/config/linux/riscv/entrypoints.txt
+1-0libc/config/linux/aarch64/entrypoints.txt
+62-02 files not shown
+64-08 files

LLVM/project 97ed1a2llvm/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

LLVM/project 1b86559llvm/lib/Target/AArch64 AArch64InstrInfo.td

(NFC) Tidy up alignment/formatting in AArch64/AArch64InstrInfo.td

It was noted in a code-review for earlier changes in this stack
that some of the new 9.7 entries were mis-aligned. But actually,
many of the entries were, so I've tidied them all up.
DeltaFile
+104-123llvm/lib/Target/AArch64/AArch64InstrInfo.td
+104-1231 files

LLVM/project d6c0534llvm/lib/Target/AArch64 AArch64InstrFormats.td

fixup! [AArch64][llvm] Armv9.7-A: Add support for new Advanced SIMD (Neon) instructions

Remove timm32_1_16 and timm32_1_8, as they're superfluous.
DeltaFile
+0-15llvm/lib/Target/AArch64/AArch64InstrFormats.td
+0-151 files

LLVM/project 82daa74llvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/test/MC/AArch64 neon-fdot.s neon-fdot-diagnostics.s

[AArch64][llvm] Armv9.7-A: Add support for new Advanced SIMD (Neon) instructions

Add support for new Advanced SIMD (Neon) instructions:
 - FDOT (half-precision to single-precision, by element)
 - FDOT (half-precision to single-precision, vector)
 - FMMLA (half-precision, non-widening)
 - FMMLA (widening, half-precision to single-precision)

as documented here:

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

Co-authored-by: Kerry McLaughlin <kerry.mclaughlin at arm.com>
Co-authored-by: Caroline Concatto <caroline.concatto at arm.com>
Co-authored-by: Virginia Cangelosi <virginia.cangelosi at arm.com>
DeltaFile
+147-0llvm/test/MC/AArch64/neon-fdot.s
+59-0llvm/test/MC/AArch64/neon-fdot-diagnostics.s
+40-2llvm/lib/Target/AArch64/AArch64InstrFormats.td
+37-0llvm/test/MC/AArch64/neon-fmmla-HtoS.s
+37-0llvm/test/MC/AArch64/neon-fmmla.s
+29-3llvm/unittests/TargetParser/TargetParserTest.cpp
+349-57 files not shown
+424-713 files

LLVM/project 8a38269llvm/lib/Target/AArch64 SVEInstrFormats.td AArch64SVEInstrInfo.td, llvm/test/MC/AArch64/SME2p3 luti6-diagnostics.s

fixup! [AArch64][llvm] Armv9.7-A: Add support for SVE2p3 LUTI6 operations

Test movprfx properly and remove parameters from sve2_luti6_vector
since it's only used once.
DeltaFile
+8-8llvm/test/MC/AArch64/SVE2p3/luti6-diagnostics.s
+8-8llvm/test/MC/AArch64/SME2p3/luti6-diagnostics.s
+4-8llvm/lib/Target/AArch64/SVEInstrFormats.td
+1-1llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
+21-254 files

LLVM/project d405dd7libc/include errno.yaml errno.h.def

add errno_t to hdrgen
DeltaFile
+2-1libc/include/errno.yaml
+0-2libc/include/errno.h.def
+2-32 files