LLVM/project b5aff11mlir/include/mlir/Dialect/Tosa/IR TosaOps.td, mlir/lib/Dialect/Tosa/IR TosaCanonicalizations.cpp

[mlir][tosa] Add folding for TOSA ArgMax operator (#88871)

DeltaFile
+20-6mlir/test/Dialect/Tosa/constant-op-fold.mlir
+13-0mlir/lib/Dialect/Tosa/IR/TosaCanonicalizations.cpp
+1-0mlir/include/mlir/Dialect/Tosa/IR/TosaOps.td
+34-63 files

LLVM/project 71c0784clang/lib/AST DeclPrinter.cpp, clang/test/SemaCXX cxx11-attr-print.cpp

Fix the double space and double attribute printing of the final keyword. (#88600)

Fixes #56517.
DeltaFile
+28-9clang/unittests/AST/DeclPrinterTest.cpp
+21-15clang/lib/AST/DeclPrinter.cpp
+5-0clang/test/SemaCXX/cxx11-attr-print.cpp
+2-2clang/test/SemaHLSL/BuiltIns/RWBuffers.hlsl
+1-1clang/utils/TableGen/ClangAttrEmitter.cpp
+57-275 files

LLVM/project 562f061clang/lib/AST/Interp ByteCodeExprGen.cpp, clang/test/AST/Interp c.c

[clang][Interp] Load result of pre-inc/dec operation if necessary

This can happen in C.
DeltaFile
+26-16clang/lib/AST/Interp/ByteCodeExprGen.cpp
+12-0clang/test/AST/Interp/c.c
+38-162 files

LLVM/project ff3523fllvm/include/llvm/IR Instruction.h Operator.h, llvm/lib/IR Instruction.cpp Operator.cpp

[IR] Drop poison-generating return attributes when necessary (#89138)

Rename has/dropPoisonGeneratingFlagsOrMetadata to
has/dropPoisonGeneratingAnnotations and make it also handle
nonnull, align and range return attributes on calls, similar
to the existing handling for !nonnull, !align and !range metadata.
DeltaFile
+40-1llvm/test/Transforms/InstCombine/freeze.ll
+23-0llvm/lib/IR/Instruction.cpp
+15-5llvm/include/llvm/IR/Instruction.h
+4-3llvm/include/llvm/IR/Operator.h
+3-2llvm/lib/IR/Operator.cpp
+2-2llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+87-138 files not shown
+95-2114 files

LLVM/project 43eb5e2llvm/lib/Target/RISCV RISCVFeatures.td

[RISCV] Remove unused Predicates for I and E extensions. NFC
DeltaFile
+1-5llvm/lib/Target/RISCV/RISCVFeatures.td
+1-51 files

LLVM/project 9099f6fclang/lib/AST/Interp ByteCodeExprGen.cpp Program.cpp, clang/test/AST/Interp records.cpp

[clang][Interp] Skip unnamed bit fields in initializers

Fixes the Codegen/CSKY/csky-hard-abi.c test
DeltaFile
+13-0clang/test/AST/Interp/records.cpp
+5-0clang/lib/AST/Interp/ByteCodeExprGen.cpp
+5-0clang/lib/AST/Interp/Program.cpp
+23-03 files

LLVM/project 5ff44dbllvm/test/Transforms/VectorCombine/X86 reduction-of-truncations.ll

[VectorCombine] Fix incorrect intrinsic signature (NFC)
DeltaFile
+1-1llvm/test/Transforms/VectorCombine/X86/reduction-of-truncations.ll
+1-11 files

LLVM/project a5d2ed2llvm/test/Transforms/VectorCombine/AArch64 shuffletoidentity.ll

[VectorCombine] Fix typo in test (NFC)

The llvm.smix should be llvm.smin.
DeltaFile
+13-13llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
+13-131 files

LLVM/project 93d5119libclc CMakeLists.txt

[libclc] Clarify option help message

This should make it more obvious it applies only to libclc.
DeltaFile
+1-1libclc/CMakeLists.txt
+1-11 files

LLVM/project d0af554.ci generate-buildkite-pipeline-premerge

[CI] Fix libclc dependencies

We need clang and llvm to build in-tree.
DeltaFile
+1-1.ci/generate-buildkite-pipeline-premerge
+1-11 files

LLVM/project 0aeeff3libclc CMakeLists.txt

[libclc] Allow building with pre-built tools

Building the libclc project in-tree with debug tools can be very slow.
This commit adds an option for a user to specify a dierctory from which
to import (e.g., release-built) tools. All tools required by the project
must be imported from the same location, for simplicity.

Original patch downstream authored by @jchlanda.
DeltaFile
+27-6libclc/CMakeLists.txt
+27-61 files

LLVM/project dc74c69libclc CMakeLists.txt

[libclc] Provide a more helpful error when tools are missing
DeltaFile
+5-4libclc/CMakeLists.txt
+5-41 files

LLVM/project 06f54e7libclc CMakeLists.txt

[libclc] Convert llvm-spirv to imported executable

This tool now behaves like the others, for consistency.
DeltaFile
+8-3libclc/CMakeLists.txt
+8-31 files

LLVM/project dbece2bllvm/docs index.rst

[Docs] Fix FAQ and Lexicon links under design overview (#89027)

This patch updates the FAQ and lexicon links under design overview to
actually work instead of being incomplete and thus completely missing
from the output.
DeltaFile
+6-0llvm/docs/index.rst
+6-01 files

LLVM/project 3d56ea0clang/lib/AST ExprConstant.cpp ItaniumMangle.cpp, clang/lib/CodeGen CGExprAgg.cpp

[clang][NFC] Fix FieldDecl::isUnnamedBitfield() capitalization (#89048)

We always capitalize bitfield as "BitField".
DeltaFile
+12-12clang/lib/Sema/SemaDeclCXX.cpp
+12-12clang/lib/Sema/SemaInit.cpp
+9-9clang/lib/AST/ExprConstant.cpp
+4-4clang/lib/AST/ItaniumMangle.cpp
+5-3clang/lib/CodeGen/CGExprAgg.cpp
+4-3clang/lib/AST/DeclCXX.cpp
+46-4323 files not shown
+74-7129 files

LLVM/project 942a406libcxx/include limits, libcxx/test/libcxx/diagnostics algorithm.nodiscard.verify.cpp nodiscard_extensions.verify.cpp

[libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests
DeltaFile
+384-0libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
+0-353libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
+0-188libcxx/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp
+167-0libcxx/test/libcxx/diagnostics/cmath.nodiscard.verify.cpp
+0-165libcxx/test/libcxx/diagnostics/math_nodiscard_extensions.verify.cpp
+63-63libcxx/include/limits
+614-769202 files not shown
+1,954-2,066208 files

LLVM/project fbca90bllvm/unittests/Support MemoryTest.cpp

[unittest] Skip W+X MappedMemoryTests on OpenBSD (#89102)

OpenBSD uses W^X so the tests will not work.
DeltaFile
+1-1llvm/unittests/Support/MemoryTest.cpp
+1-11 files

LLVM/project 472b612libcxx/include/__format format_arg.h, libcxx/include/__type_traits remove_cv.h

[libc++][NFC] Remove unused includes from <__type_traits/remove_cv.h> (#88752)

DeltaFile
+0-2libcxx/include/__type_traits/remove_cv.h
+1-0libcxx/include/__format/format_arg.h
+1-22 files

LLVM/project 3d72c44mlir/include/mlir/Dialect/GPU/IR GPUOps.td

[mlir][gpu] Improve `gpu.shuffle` documentation. NFC. (#89168)

* Make the wording around lanes / threads / work items more consistent.
* Add examples for all shufle modes.
* Also clean up `gpu.subgroup_reduce`.
DeltaFile
+51-17mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
+51-171 files

LLVM/project 0afc884llvm/lib/Target/RISCV RISCVInstrInfoVVLPatterns.td RISCVInstrInfoVSDPatterns.td, llvm/test/CodeGen/RISCV/rvv trunc-sat-clip.ll fixed-vectors-trunc-sat-clip.ll

[RISCV] Use vnclip for scalable vector saturating truncation. (#88648)

Similar to #75145, but for scalable vectors.

Specifically, this patch works for the below optimization case:

## Source Code
```
define void @trunc_sat_i8i16_maxmin(ptr %x, ptr %y) {
  %1 = load <vscale x 4 x i16>, ptr %x, align 16
  %2 = tail call <vscale x 4 x i16> @llvm.smax.v4i16(<vscale x 4 x i16> %1, <vscale x 4 x i16> splat (i16 -128))
  %3 = tail call <vscale x 4 x i16> @llvm.smin.v4i16(<vscale x 4 x i16> %2, <vscale x 4 x i16> splat (i16 127))
  %4 = trunc <vscale x 4 x i16> %3 to <vscale x 4 x i8>
  store <vscale x 4 x i8> %4, ptr %y, align 8
  ret void
}
```
## Before this patch
[Compiler Explorer](https://godbolt.org/z/EKc9eGvo8)

    [21 lines not shown]
DeltaFile
+0-379llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip.ll
+370-0llvm/test/CodeGen/RISCV/rvv/fixed-vectors-trunc-sat-clip.ll
+370-0llvm/test/CodeGen/RISCV/rvv/trunc-sat-clip-sdnode.ll
+29-37llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
+41-0llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
+810-4165 files

LLVM/project 808d794libcxx/test/std/ranges/range.adaptors/range.elements/sentinel equality.pass.cpp, libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel eq.pass.cpp

[libc++][NFC] Centralize test for support of == and != in ranges (#78481)

Previously, tests for whether comparison using == was supported by
iterators derived from ranges adaptors was spread throughout the testing
codebase. This PR centralizes the implementation of those tests.
DeltaFile
+17-20libcxx/test/std/ranges/range.adaptors/range.elements/sentinel/equality.pass.cpp
+16-20libcxx/test/std/ranges/range.adaptors/range.take.while/sentinel/equality.pass.cpp
+13-17libcxx/test/std/ranges/range.adaptors/range.zip/sentinel/eq.pass.cpp
+5-7libcxx/test/std/ranges/range.adaptors/range.join/range.join.sentinel/eq.pass.cpp
+12-0libcxx/test/support/test_range.h
+3-6libcxx/test/std/ranges/range.adaptors/range.lazy.split/range.lazy.split.outer/equal.pass.cpp
+66-705 files not shown
+79-9111 files

LLVM/project 8b37ec1libcxx/test/std/ranges/range.adaptors/range.take begin.pass.cpp types.h

[libc++][NFC] Add additional tests for begin/end of std::ranges::take_view (#79085)

Add additional tests for `begin`/`end` of `std::ranges::take_view`.

In partial fulfillment of #72406.
DeltaFile
+77-27libcxx/test/std/ranges/range.adaptors/range.take/begin.pass.cpp
+50-0libcxx/test/std/ranges/range.adaptors/range.take/types.h
+14-0libcxx/test/std/ranges/range.adaptors/range.take/end.pass.cpp
+141-273 files

LLVM/project 3e2aad4llvm/lib/Target/RISCV RISCVRegisterInfo.cpp

[RISCV] Speed up RISCVRegisterInfo::needsFrameBaseReg when frame pointer isn't used. NFC (#89163)

The callee saved size is only used if there is a frame pointer. Sink the
code onto the frame pointer only path.
DeltaFile
+12-10llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
+12-101 files

LLVM/project 3fbb815llvm/lib/Target/RISCV RISCVInsertVSETVLI.cpp

[RISCV] Check that VLMAX is the same when demanding exact VL (#89080)

DeltaFile
+1-1llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
+1-11 files

LLVM/project f2695a1clang/include/clang/AST ASTMutationListener.h, clang/include/clang/Serialization ASTWriter.h

[C++20] [Modules] Avoid writing untouched DeclUpdates from GMF in
Reduced BMI

Mitigate https://github.com/llvm/llvm-project/issues/61447

The root cause of the above problem is that when we write a declaration,
we need to lookup all the redeclarations in the imported modules. Then
it will be pretty slow if there are too many redeclarations in different
modules. This patch doesn't solve the porblem.

What the patchs mitigated is, when we writing a named module, we shouldn't
write the declarations from GMF if it is unreferenced **in current
module unit**. The difference here is that, if the declaration is used
in the imported modules, we used to emit it as an update. But we
definitely want to avoid that after this patch.

For that reproducer in
https://github.com/llvm/llvm-project/issues/61447, it used to take 2.5s
to compile and now it only takes 0.49s to compile, which is a big win.
DeltaFile
+96-0clang/test/Modules/reduced-bmi-empty-module-purview.cppm
+43-21clang/lib/Serialization/ASTWriter.cpp
+29-0clang/lib/Frontend/MultiplexConsumer.cpp
+27-0clang/include/clang/AST/ASTMutationListener.h
+14-4clang/lib/AST/ASTContext.cpp
+10-0clang/include/clang/Serialization/ASTWriter.h
+219-253 files not shown
+231-269 files

LLVM/project b6cc667clang/lib/Format TokenAnnotator.cpp, clang/unittests/Format TokenAnnotatorTest.cpp

[clang-format] Annotate ampamp after new/delete as BinaryOperator (#89033)

Fixes #78789.
DeltaFile
+10-0clang/unittests/Format/TokenAnnotatorTest.cpp
+2-0clang/lib/Format/TokenAnnotator.cpp
+12-02 files

LLVM/project 29ecd6dclang/lib/Format TokenAnnotator.cpp, clang/unittests/Format TokenAnnotatorTest.cpp FormatTest.cpp

[clang-format] Revert breaking stream operators to previous default (#89016)

Reverts commit d68826dfbd98, which changes the previous default behavior
of always breaking before a stream insertion operator `<<` if both
operands are string literals.

Also reverts the related commits 27f547968cce and bf05be5b87fc.

See the discussion in #88483.
DeltaFile
+0-9clang/unittests/Format/TokenAnnotatorTest.cpp
+2-6clang/lib/Format/TokenAnnotator.cpp
+1-6clang/unittests/Format/FormatTest.cpp
+4-3polly/lib/Analysis/ScopBuilder.cpp
+2-2polly/lib/Analysis/DependenceInfo.cpp
+9-265 files

LLVM/project 0ee260ellvm/lib/Target/PowerPC PPCInstrInfo.td

[PowerPC] `ANDI_rec_1_*` should define CR0 (#89034)

These pseudo instructions finally copy the result to CR0 so they should
define `CR0` in their definitions.
DeltaFile
+2-0llvm/lib/Target/PowerPC/PPCInstrInfo.td
+2-01 files

LLVM/project 525d00ellvm/lib/Transforms/InstCombine InstCombineSelect.cpp, llvm/test/Transforms/InstCombine integer-round-up-pow2-alignment.ll

[InstCombine] Fix poison propagation in round up alignment fold

We can't directly use the high bits value if it is more poisonous
due to poison elements in the masks.

This fixes the issue reported in
https://github.com/llvm/llvm-project/pull/88217#issuecomment-2061034941.
DeltaFile
+14-6llvm/test/Transforms/InstCombine/integer-round-up-pow2-alignment.ll
+2-1llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
+16-72 files

LLVM/project 3b5c2a8lld/test/ELF pack-dyn-relocs.s partition-pack-dyn-relocs.s, llvm/test/tools/llvm-readobj/ELF relr-relocs.test

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5-bogner
DeltaFile
+88-38llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
+82-6llvm/tools/llvm-readobj/ELFDumper.cpp
+25-25lld/test/ELF/pack-dyn-relocs.s
+3-3lld/test/ELF/partition-pack-dyn-relocs.s
+198-724 files