LLVM/project 6ceeb2c — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 loop-accumulator-reduction.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+16-16llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
+22-8llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+3-4llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds.ll
+41-283 files

LLVM/project 0ee7269 — llvm/include/llvm/ProfileData SampleProf.h, llvm/include/llvm/Support Compiler.h

[Support] Clarify purpose of LLVM_DEPRECATED (#228367)

Rename the macro to LLVM_DEPRECATED_WITH_FIXIT, to clarify that is is
used for deprecations where a machine-applicable fix-it exists (which is
only pure rename deprecations).
DeltaFile
+5-2llvm/include/llvm/Support/Compiler.h
+2-1llvm/include/llvm/ProfileData/SampleProf.h
+1-1llvm/include/llvm/TableGen/Record.h
+8-43 files

LLVM/project da43ad3 — clang-tools-extra/clangd CodeComplete.cpp, clang-tools-extra/clangd/unittests CodeCompleteTests.cpp

[clangd] Fix header-name completion replace ranges (#225473)

Handle header-name completion as a special case for replace edits. Its
insert range already extends past the identifier, including delimiters
such as '"' and '>'. Reuse that range for replace edits so that the
insert range remains a prefix of the replace range, as required by the
LSP specification.

Add a unit test covering this case.

Fixes llvm/llvm-project#225326
DeltaFile
+56-0clang-tools-extra/clangd/unittests/CodeCompleteTests.cpp
+7-3clang-tools-extra/clangd/CodeComplete.cpp
+63-32 files

LLVM/project 7e48d8c —

[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#228673)
DeltaFile
+0-00 files

LLVM/project 777d2ba — clang/lib/Sema SemaTemplateInstantiate.cpp

[clang] Migrate away from PointerUnion::dyn_cast (NFC) (#228673)
DeltaFile
+2-2clang/lib/Sema/SemaTemplateInstantiate.cpp
+2-21 files

LLVM/project e2a9a93 — llvm/test/Transforms/SLPVectorizer/AArch64 loop-accumulator-reduction.ll, llvm/test/Transforms/SLPVectorizer/X86 dependent-seeds.ll

[SLP][NFC]Add extra test with missed vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/228716
DeltaFile
+106-0llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
+33-0llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds.ll
+139-02 files

LLVM/project abf60e5 — llvm/test/Transforms/SLPVectorizer/AArch64 loop-accumulator-reduction.ll, llvm/test/Transforms/SLPVectorizer/X86 dependent-seeds.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+106-0llvm/test/Transforms/SLPVectorizer/AArch64/loop-accumulator-reduction.ll
+33-0llvm/test/Transforms/SLPVectorizer/X86/dependent-seeds.ll
+139-02 files

LLVM/project 971833e — clang/docs ReleaseNotes.md LanguageExtensions.md, clang/lib/AST ExprConstant.cpp

[Clang] Fix crash in alignment builtins with null pointers (#224549)

Clang can crash when evaluating __builtin_align_up,
__builtin_align_down, or __builtin_is_aligned with a null pointer.

Avoid querying base alignment for pointers without an underlying object
    during constant evaluation.
    
    Null pointers are handled as always aligned values, while other
    base-less pointers are rejected rather than interpreted using their
    numeric address.

Assisted-by: GPT-5.6

AI was used to assist with code analysis, debugging, and drafting the PR
description. I personally debugged, reviewed and verified the changes,
tested the code, and fully understand the submitted contribution.

Fixes https://github.com/llvm/llvm-project/issues/216999

Co-authored-by: Timm Baeder <tbaeder at redhat.com>
DeltaFile
+26-0clang/lib/AST/ExprConstant.cpp
+24-0clang/test/Sema/builtin-align.c
+16-0clang/lib/AST/ByteCode/InterpBuiltin.cpp
+9-0clang/test/SemaCXX/builtin-align-cxx.cpp
+5-0clang/docs/LanguageExtensions.md
+4-0clang/docs/ReleaseNotes.md
+84-06 files

LLVM/project 2aa63fe — mlir/lib/Dialect/SparseTensor/IR SparseTensorDialect.cpp, mlir/test/Dialect/SparseTensor roundtrip_encoding.mlir sparse_foreach.mlir

[mlir][sparse] Order the inferred lvlToDim results by dimension (#227674)
DeltaFile
+17-0mlir/test/Dialect/SparseTensor/sparse_foreach.mlir
+9-4mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
+13-0mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
+39-43 files

LLVM/project 36207c0 — clang/lib/AST/ByteCode Compiler.cpp, clang/test/AST/ByteCode cxx26.cpp

[clang][bytecode] Handle trivial CXXInheritedCtorInitExprs (#228352)
DeltaFile
+9-0clang/test/AST/ByteCode/cxx26.cpp
+4-2clang/lib/AST/ByteCode/Compiler.cpp
+13-22 files

LLVM/project f38c56a — clang-tools-extra/docs/clang-tidy/checks/readability uppercase-literal-suffix.md trivial-switch.md

[clang-tidy][docs] Rewrite readability check docs to Markdown [5/5] (#222033)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the fifth part of rewriting check documentations in readability
module from reST to MyST Markdown.

AI Usage: This was prepared with rnk's fork of rst2myst and
GPT5.6-assisted (both Codex and AmpCode) cleanup.
I manually verified that the documentation renders as expected.

Preview site:
https://broken.life/llvm-staging/readability-markdown-port/index.html

    [3 lines not shown]
DeltaFile
+123-133clang-tools-extra/docs/clang-tidy/checks/readability/suspicious-call-argument.md
+54-58clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.md
+43-43clang-tools-extra/docs/clang-tidy/checks/readability/use-anyofallof.md
+37-41clang-tools-extra/docs/clang-tidy/checks/readability/trailing-comma.md
+34-35clang-tools-extra/docs/clang-tidy/checks/readability/trivial-switch.md
+32-34clang-tools-extra/docs/clang-tidy/checks/readability/uppercase-literal-suffix.md
+323-3443 files not shown
+389-4119 files

LLVM/project 5e3f479 — clang-tools-extra/docs/clang-tidy/checks/readability trailing-comma.rst trailing-comma.md

[clang-tidy][docs] Rename readability check docs to Markdown [5/5] (#222032)

Tracking issue: #201242

See the [migration guide] for more information.

[migration guide]:

https://llvm.org/docs/SphinxQuickstartTemplate.html#markdown-migration-guidelines

This is the fifth part of the mechanical rename of the check
documentations in readability module.
The rewrite is provided by the next PR in this stack.
DeltaFile
+0-242clang-tools-extra/docs/clang-tidy/checks/readability/suspicious-call-argument.rst
+242-0clang-tools-extra/docs/clang-tidy/checks/readability/suspicious-call-argument.md
+0-87clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.rst
+87-0clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.md
+0-68clang-tools-extra/docs/clang-tidy/checks/readability/trailing-comma.rst
+68-0clang-tools-extra/docs/clang-tidy/checks/readability/trailing-comma.md
+397-39712 files not shown
+664-66418 files

LLVM/project 1f1a5b3 — flang/lib/Semantics openmp-utils.cpp check-omp-structure.cpp, flang/test/Lower/OpenMP compound-version-override.f90

[flang][OpenMP] Remember decision of allowing past/future clause (#227419)

When a deprecated or a future clause is used on a directive, and it is
allowed with a warning, remember that decision and consider that clause
allowed on that directive in all subsequent checks.

Introduce OpenMPDeprecated and OpenMPFuture warning categories
to guard these warnings (and the corresponding `-Wopenmp-deprecated`
and `-Wopenmp-future` options).
DeltaFile
+64-29flang/lib/Semantics/check-omp-structure.cpp
+24-24flang/test/Semantics/OpenMP/if-clause-45.f90
+34-5flang/lib/Semantics/openmp-utils.cpp
+33-0flang/test/Lower/OpenMP/compound-version-override.f90
+15-15flang/test/Semantics/OpenMP/declare-target02.f90
+13-13flang/test/Semantics/OpenMP/declare-target01.f90
+183-8625 files not shown
+312-13231 files

LLVM/project cd8d3f0 — clang/docs ClangFormatStyleOptions.md, clang/include/clang/Format Format.h

[clang-format] Allow one indent level before explicit access labels (#227704)

## Summary

With `IndentAccessModifiers: true`, clang-format indents record members
two levels even when the record has no explicit access label. Extend
`IndentAccessModifiers` with a third mode to allow one level until the
first explicit access label:

- `Never` (`false`): indent members one level and use
`AccessModifierOffset` for access labels.
- `Always` (`true`): indent members two levels, even without an explicit
access label.
- `AfterFirstAccessModifier`: indent members one level before the first
explicit access label and two levels from that label onward.

```yaml
IndentAccessModifiers: AfterFirstAccessModifier
```

    [24 lines not shown]
DeltaFile
+101-1clang/unittests/Format/FormatTest.cpp
+45-24clang/docs/ClangFormatStyleOptions.md
+41-25clang/include/clang/Format/Format.h
+45-10clang/lib/Format/UnwrappedLineParser.cpp
+16-1clang/lib/Format/Format.cpp
+13-1clang/unittests/Format/ConfigParseTest.cpp
+261-625 files not shown
+293-6611 files

LLVM/project fd75db8 — clang-tools-extra/docs/clang-tidy/checks/readability string-compare.md

Update clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.md

Co-authored-by: EugeneZelenko <eugene.zelenko at gmail.com>
DeltaFile
+1-2clang-tools-extra/docs/clang-tidy/checks/readability/string-compare.md
+1-21 files

LLVM/project 284afa9 — flang/lib/Semantics check-omp-structure.h check-omp-structure.cpp

[flang][OpenMP] Move leftover functions from structure to loop, NFC (#228705)

There were some loop-related functions still left in the
check-omp-structure.cpp file. Move them to check-omp-loop.cpp.
DeltaFile
+0-142flang/lib/Semantics/check-omp-structure.cpp
+142-0flang/lib/Semantics/check-omp-loop.cpp
+2-2flang/lib/Semantics/check-omp-structure.h
+144-1443 files

LLVM/project 4302024 — flang/lib/Semantics check-omp-structure.h check-omp-structure.cpp

[flang][OpenMP] Move leftover functions from structure to loop, NFC

There were some loop-related functions still left in the
check-omp-structure.cpp file. Move them to check-omp-loop.cpp.
DeltaFile
+0-142flang/lib/Semantics/check-omp-structure.cpp
+142-0flang/lib/Semantics/check-omp-loop.cpp
+2-2flang/lib/Semantics/check-omp-structure.h
+144-1443 files

LLVM/project 1e60b85 — llvm/lib/CodeGen/SelectionDAG SelectionDAG.cpp, llvm/test/CodeGen/PowerPC ppcf128-constant-bitcast.ll

[PowerPC][SDAG] fix bitcast on ppc_f128 swapping the two halves (#208969)

fixes https://github.com/llvm/llvm-project/issues/44482

This is a long-standing issue
https://github.com/llvm/llvm-project/issues/44482, you can also see the
discrepancy in this small C program compiled with clang and GCC
https://godbolt.org/z/KK1q1EozM.

The representation of ppc_fp128 is endian-agnostic in that its
high-order double is stored at the lower address.

For example, 27.0 is represented in memory as `[0x403b000000000000,
0x0000000000000000]`. Bitcasting these 128 bits as an i128 on
little-endian means the upper 64 bits are `0x0000000000000000`, the
lower are `0x403b000000000000`.

But on big-endian the interpretation of the bytes is flipped, the upper
bits are now `0x403b000000000000` while the lower are in

    [8 lines not shown]
DeltaFile
+89-0llvm/test/CodeGen/PowerPC/ppcf128-constant-bitcast.ll
+17-1llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+106-12 files

LLVM/project 2c7b0d1 — orc-rt/test/unit/bedrock InProcessControllerAccessTest.cpp

[orc-rt] Use the Error matchers in InProcessControllerAccessTest (#228702)

Use the Error matchers introduced in 4c8a437d0487 in place of cantFail
on calls that can fail, so that a failure is reported as a test failure
rather than aborting the test binary (or, with assertions disabled,
going unnoticed).
DeltaFile
+3-1orc-rt/test/unit/bedrock/InProcessControllerAccessTest.cpp
+3-11 files

LLVM/project 1a2b0e2 — offload/plugins-nextgen/amdgpu/dynamic_hsa hsa.h hsa_ext_amd.h, offload/plugins-nextgen/amdgpu/src rtl.cpp

[offload] Use HSA SVM for AMDGPU shared memory
DeltaFile
+162-21offload/plugins-nextgen/amdgpu/src/rtl.cpp
+68-0offload/test/api/omp_device_managed_memory_ops.c
+31-0offload/test/api/amdgpu_managed_memory_accessible.c
+23-1offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
+13-0openmp/docs/design/Runtimes.md
+1-0offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
+298-221 files not shown
+299-227 files

LLVM/project 21970fa — llvm/lib/Target/Mips MipsScheduleP5600.td MipsScheduleI6400.td, llvm/test/CodeGen/Mips/GlobalISel/llvm-ir fabs_vec.ll

[Mips][MSA] Lower vector fabs to BCLRI (#228532)

FMAX_A selects an original operand by magnitude and preserves its sign,
so fmax_a(x, x) does not implement fabs. Expand FABS_W and FABS_D to
clear bit 31 and bit 63 with BCLRI, and update their scheduling to match
the bit-clear instructions.

Fixes #228384.
DeltaFile
+2-4llvm/lib/Target/Mips/MipsMSAInstrInfo.td
+2-2llvm/test/CodeGen/Mips/msa/arithmetic_float.ll
+2-2llvm/test/CodeGen/Mips/GlobalISel/llvm-ir/fabs_vec.ll
+2-2llvm/lib/Target/Mips/MipsScheduleI6400.td
+1-1llvm/test/CodeGen/Mips/msa/buildvector-undef-loop.ll
+1-1llvm/lib/Target/Mips/MipsScheduleP5600.td
+10-121 files not shown
+11-137 files

LLVM/project 321fea5 — llvm/lib/Target/Mips MipsMSAInstrInfo.td, llvm/test/CodeGen/Mips/msa compare_float.ll

[Mips][MSA] Fix commutability of unordered comparisons (#228567)

Remove IsCommutable from FCULT_W/D and FCULE_W/D, whose predicates are
directional. Extend the existing floating-point comparison tests to
check that reversed comparisons produce separate results.

Fixes: #228422
DeltaFile
+37-12llvm/test/CodeGen/Mips/msa/compare_float.ll
+4-8llvm/lib/Target/Mips/MipsMSAInstrInfo.td
+41-202 files

LLVM/project e500488 — orc-rt/test/unit/tools OptionParserTest.cpp

[orc-rt] Use the Error matchers in OptionParserTest (#228701)

Use the Error matchers introduced in 4c8a437d0487 to clean up error
checks in OptionParserTest.
DeltaFile
+27-33orc-rt/test/unit/tools/OptionParserTest.cpp
+27-331 files

LLVM/project cb474be — llvm/test/CodeGen/X86 win64-eh-unwindv3-split-large.ll win64-eh-unwindv2-push-pop-stack-alloc.mir

[X86] Don't skip frame setup/destroy on SEH pseudos and regenerate tests (#225445)

As in title. Skipping setting setup/destroy flags caused pseudos to be
wrongly reordered by scheduling
DeltaFile
+34-34llvm/test/CodeGen/X86/win64-eh-unwindv3-too-many-epilog-ops.mir
+28-28llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir
+23-21llvm/test/CodeGen/X86/win64-eh-unwindv2-too-many-epilogs.mir
+26-18llvm/test/CodeGen/X86/win64-eh-unwindv2-too-many-instr.mir
+18-18llvm/test/CodeGen/X86/win64-eh-unwindv2-push-pop-stack-alloc.mir
+18-0llvm/test/CodeGen/X86/win64-eh-unwindv3-split-large.ll
+147-1197 files not shown
+171-13613 files

LLVM/project ef0f6d0 — llvm/include/llvm/Support CRC.h

[Support] Add assert for DataBytes in calculateReflectedCRC32 (#228688)

Add an assertion to calculateReflectedCRC32 to check DataBytes is one of
the expected value (1, 2, 4, or 8 bytes).

Co-authored-by: Jared Wyles <jared.wyles at gmail.com>
DeltaFile
+4-0llvm/include/llvm/Support/CRC.h
+4-01 files

LLVM/project a7ac947 — flang/lib/Lower Bridge.cpp, flang/lib/Parser Fortran-parsers.cpp

[flang] Plugin directives: address review comments

- Accept as procedure arguments only subprograms and external procedures:
  reject dummy procedures, procedure pointers, statement functions and
  intrinsics; a generic name stands for its specific procedure of the same
  name, and is an error without one. Accept as variable arguments only
  variables (not e.g. derived types or module names). Lowering no longer
  calls mangleName on anything else, which aborted.
- Make a malformed argument list of a directive with a registered prefix a
  parse error instead of an ignored, unrecognized directive.
- Leave out of a module file a directive whose arguments are not visible in
  the module (e.g. an internal procedure or a dummy argument), with a
  warning, instead of writing a module file that cannot be read.
- In a function without a RESULT clause, take its name as the function, not
  its result variable, where a procedure may be meant.
- Record a directive on the host's symbol when its subject is host
  associated (a module procedure naming itself), so it is written to the
  module file.

Co-Authored-By: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+72-16flang/lib/Semantics/resolve-names.cpp
+43-9flang/lib/Semantics/mod-file.cpp
+24-3flang/lib/Parser/Fortran-parsers.cpp
+22-3flang/lib/Lower/Bridge.cpp
+161-314 files

LLVM/project 41618ea — orc-rt/test/unit/support/sps SimplePackedSerializationTest.cpp

[orc-rt] Use the Error matchers in SimplePackedSerializationTest (#228696)

Use the Error matchers introduced in 4c8a437d0487 to clean up error
checks in SimplePackedSerializationTest.
DeltaFile
+7-18orc-rt/test/unit/support/sps/SimplePackedSerializationTest.cpp
+7-181 files

LLVM/project b028ea8 — llvm/lib/Target/ARM ARMISelLowering.cpp, llvm/test/CodeGen/ARM inline-asm-clobber.ll

[ARM] fix `r14` aliasing `lr` on `thumb-1` (#225746)

Since https://github.com/llvm/llvm-project/pull/179740 `r14` is accepted
as an alias for `lr`, which works on `arm` and `thumb-2` targets, but
not on `thumb-1`

https://godbolt.org/z/WEEjMMj93

```llvm
; -mtriple=thumbv6m-none-eabi
define i32 @read_r14() nounwind {
start:
  %1 = tail call i32 asm sideeffect alignstack "", "=&{r14},~{cc},~{memory}"()
  ret i32 %1
}
```

Gives


    [11 lines not shown]
DeltaFile
+33-17llvm/test/CodeGen/ARM/inline-asm-clobber.ll
+1-1llvm/lib/Target/ARM/ARMISelLowering.cpp
+34-182 files

LLVM/project 2bdc29f — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 duplicated-lane-consecutive-loads.ll

[SLP]Pack unique consecutive loads instead of gathering duplicated lanes

A load bundle with duplicated lanes whose unique loads are consecutive
was kept as is and emitted as a masked gather. Pack the unique loads
into a single wide load plus a reuse shuffle, unless the target reports
the masked gather as cheaper.

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/228698
DeltaFile
+27-5llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+4-5llvm/test/Transforms/SLPVectorizer/X86/duplicated-lane-consecutive-loads.ll
+31-102 files

LLVM/project c6b9e8e — llvm/test/Transforms/SLPVectorizer/X86 duplicated-lane-consecutive-loads.ll

[SLP][NFC]Add a test with non-profitable vectorization, NFC



Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/228695
DeltaFile
+70-0llvm/test/Transforms/SLPVectorizer/X86/duplicated-lane-consecutive-loads.ll
+70-01 files