LLVM/project 996639dmlir/include/mlir/Dialect/Bufferization/Transforms Passes.h Passes.td, mlir/lib/Dialect/Bufferization/Transforms BufferResultsToOutParams.cpp

[MLIR][BufferResultsToOutParamsPass] Add Option to Modify Public Function's Signature (#167248)

Since https://github.com/llvm/llvm-project/pull/162441,
`buffer-results-to-out-params` transforms `private` functions only.

But, as mentioned in
https://github.com/llvm/llvm-project/pull/162441#issuecomment-3404195242,
this is a breaking change for pipelines handling C code. Our pipeline
@EfficientComputer is also affected by this breaking change.

Therefore, this PR adds an opt-in flag to allow `public` functions to be
transformed by `BufferResultsToOutParamsPass`.
DeltaFile
+40-0mlir/test/Transforms/buffer-results-to-out-params-modify-public-functions.mlir
+8-2mlir/lib/Dialect/Bufferization/Transforms/BufferResultsToOutParams.cpp
+3-0mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.h
+3-0mlir/include/mlir/Dialect/Bufferization/Transforms/Passes.td
+54-24 files

LLVM/project 0696fe6llvm/lib/CodeGen/SelectionDAG SelectionDAGBuilder.cpp SelectionDAGBuilder.h, llvm/test/CodeGen/AMDGPU nofpclass-call.ll

DAG: Add AssertNoFPClass from call return attributes

This defends against regressions in future patches. This excludes
the target intrinsic case for now; I'm worried introducing an intermediate
AssertNoFPClass is likely to break combines.
DeltaFile
+17-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
+4-12llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
+4-0llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
+25-123 files

LLVM/project 24539e3llvm/test/CodeGen/AMDGPU nofpclass-call.ll

AMDGPU: Add baseline test for nofpclass on call results
DeltaFile
+199-0llvm/test/CodeGen/AMDGPU/nofpclass-call.ll
+199-01 files

LLVM/project 0d786b9clang-tools-extra/clang-tidy/android CloexecCheck.h, clang-tools-extra/clang-tidy/bugprone RawMemoryCallOnNonTrivialTypeCheck.cpp

[clang-tidy][NFC] Enable `performance-unnecessary-value-param` in the codebase (#163686)

Closes #156156.

In a few cases, instead of just applying the fix-it and making
parameters const references to owning type, I refactored them to be
non-owning types.
DeltaFile
+6-5clang-tools-extra/clang-tidy/modernize/UseStdNumbersCheck.cpp
+5-5clang-tools-extra/clang-tidy/llvmlibc/RestrictSystemLibcHeadersCheck.cpp
+5-3clang-tools-extra/clang-tidy/misc/RedundantExpressionCheck.cpp
+3-4clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
+4-3clang-tools-extra/clang-tidy/bugprone/RawMemoryCallOnNonTrivialTypeCheck.cpp
+3-3clang-tools-extra/clang-tidy/android/CloexecCheck.h
+26-2320 files not shown
+59-5826 files

LLVM/project 4d88bb6llvm/lib/Target/Hexagon HexagonISelLowering.cpp HexagonISelLowering.h, llvm/test/CodeGen/Hexagon and_mask_cmp0_sink.ll

[Hexagon] Implement isMaskAndCmp0FoldingBeneficial (#166891)

Sink `and` mask to `cmp` use block if it is masking a single bit since
this will fold the `and/cmp/br` into a single `tstbit` instruction.
DeltaFile
+68-0llvm/test/CodeGen/Hexagon/and_mask_cmp0_sink.ll
+10-0llvm/lib/Target/Hexagon/HexagonISelLowering.cpp
+2-0llvm/lib/Target/Hexagon/HexagonISelLowering.h
+80-03 files

LLVM/project cf1f871flang/docs Directives.md, flang/include/flang/Parser parse-tree.h

[Flang] Add parser support for prefetch directive (#139702)

Implementation details:
* Recognize prefetch directive in the parser as `!dir$ prefetch ...`
* Unparse the prefetch directive
* Add required tests

Details on the prefetch directive:
`!dir$ prefetch designator[, designator]...`, where the designator list
can be a variable or an array reference. This directive is used to
insert a hint to the code generator to prefetch instructions for
memory references.
DeltaFile
+80-0flang/test/Parser/prefetch.f90
+7-1flang/include/flang/Parser/parse-tree.h
+4-0flang/lib/Parser/unparse.cpp
+4-0flang/lib/Parser/Fortran-parsers.cpp
+3-0flang/lib/Lower/Bridge.cpp
+3-0flang/docs/Directives.md
+101-12 files not shown
+103-18 files

LLVM/project b67796fllvm/test/CodeGen/RISCV/rvv vfcopysign-sdnode.ll vcopysign-vp.ll

[llvm][RISCV] Support Zvfbfa codegen for fneg, fabs and copysign (#166944)

This is first patch for Zvfbfa codegen and I'm going to break it down to
several patches to make it easier to reivew.
The codegen supports both scalable vector and fixed length vector on
both
native operations and vp intrinsics.
DeltaFile
+648-54llvm/test/CodeGen/RISCV/rvv/vfcopysign-sdnode.ll
+488-4llvm/test/CodeGen/RISCV/rvv/vcopysign-vp.ll
+420-8llvm/test/CodeGen/RISCV/rvv/vfabs-vp.ll
+384-8llvm/test/CodeGen/RISCV/rvv/vfneg-vp.ll
+284-8llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfabs-vp.ll
+260-8llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vfneg-vp.ll
+2,484-908 files not shown
+3,344-17914 files

LLVM/project f734cebllvm/lib/Target/LoongArch LoongArchTargetTransformInfo.cpp LoongArchTargetTransformInfo.h, llvm/test/CodeGen/LoongArch expandmemcmp.ll expandmemcmp-optsize.ll

[LoongArch] Initial implementation for `enableMemCmpExpansion` hook (#166526)

After overriding `TargetTransformInfo::enableMemCmpExpansion` in this
commit, `MergeICmps` and `ExpandMemCmp` passes will be enabled on
LoongArch.
DeltaFile
+2,594-715llvm/test/CodeGen/LoongArch/expandmemcmp.ll
+1,619-527llvm/test/CodeGen/LoongArch/expandmemcmp-optsize.ll
+18-9llvm/test/CodeGen/LoongArch/memcmp.ll
+22-1llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
+2-1llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
+4,255-1,2535 files

LLVM/project d94e2d1mlir/lib/Conversion/ArithToAPFloat ArithToAPFloat.cpp

address the rest of the comments
DeltaFile
+62-67mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
+62-671 files

LLVM/project b3d6264.github new-prs-labeler.yml, .github/workflows new-prs.yml

Revert "[Github] Update PR labeller to v6.0.1 (#167246)"

This reverts commit 10da6ab5362158c1f63e0c8eaa893c55b49dc3f4.

This also caused workflow failures.
1. https://github.com/llvm/llvm-project/actions/runs/19218607216
DeltaFile
+812-1,130.github/new-prs-labeler.yml
+1-1.github/workflows/new-prs.yml
+813-1,1312 files

LLVM/project 6c02bcb.github/workflows build-ci-container-windows.yml

[Github] Make Windows container use zstd (#167022)

This enables much faster image unpack times. We benchmarked 20-30%
improvements when testing this initially. Use skopeo to copy the image
as it just works over the docker-archive/OCI container formats and does
not need to unpack the image to upload it.
DeltaFile
+10-6.github/workflows/build-ci-container-windows.yml
+10-61 files

LLVM/project 10da6ab.github new-prs-labeler.yml, .github/workflows new-prs.yml

[Github] Update PR labeller to v6.0.1 (#167246)

This was reverted earlier due to me not realizing that the config format
also changed. This patch updates the config to match the new format and
bumps the version.
DeltaFile
+1,130-812.github/new-prs-labeler.yml
+1-1.github/workflows/new-prs.yml
+1,131-8132 files

LLVM/project fa0f2d2mlir/lib/Dialect/Tosa/IR TosaOps.cpp, mlir/test/Dialect/Tosa invalid.mlir

[mlir][tosa] Fix crash in `tosa.concat` verifier (#165966)

The `tosa.concat` verifier crashed when the output rank did not match
the input rank. This PR adds a proper check and error emission to
prevent the crash. Fixes #159742.
DeltaFile
+8-0mlir/test/Dialect/Tosa/invalid.mlir
+6-1mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
+14-12 files

LLVM/project fd004e2llvm/lib/Target/LoongArch LoongArchTargetTransformInfo.cpp

remove TODO
DeltaFile
+0-2llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
+0-21 files

LLVM/project 3cc959dllvm/lib/Target/LoongArch LoongArchTargetTransformInfo.cpp

enable tail expansion which will reduce branches like aarch64/riscv
DeltaFile
+7-3llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
+7-31 files

LLVM/project 25bbbf0llvm/test/CodeGen/LoongArch expandmemcmp.ll expandmemcmp-optsize.ll

rebase && update tests
DeltaFile
+2,594-715llvm/test/CodeGen/LoongArch/expandmemcmp.ll
+1,619-527llvm/test/CodeGen/LoongArch/expandmemcmp-optsize.ll
+18-9llvm/test/CodeGen/LoongArch/memcmp.ll
+4,231-1,2513 files

LLVM/project d62b0adllvm/lib/Target/LoongArch LoongArchTargetTransformInfo.cpp LoongArchTargetTransformInfo.h

[LoongArch] Initial implementation for `enableMemCmpExpansion` hook

After overriding `TargetTransformInfo::enableMemCmpExpansion`
in this commit, `MergeICmps` and `ExpandMemCmp` passes will be
enabled on LoongArch.
DeltaFile
+20-1llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.cpp
+2-1llvm/lib/Target/LoongArch/LoongArchTargetTransformInfo.h
+22-22 files

LLVM/project 5ba0c7cllvm/test/CodeGen/LoongArch expandmemcmp.ll expandmemcmp-optsize.ll

[LoongArch][NFC] Pre-commit tests for memcmp expansion (#166718)

Test cases are similar as riscv.
DeltaFile
+1,227-0llvm/test/CodeGen/LoongArch/expandmemcmp.ll
+1,147-0llvm/test/CodeGen/LoongArch/expandmemcmp-optsize.ll
+2,374-02 files

LLVM/project 836919bclang/lib/Format WhitespaceManager.cpp, clang/unittests/Format FormatTest.cpp

[clang-format] Fix a crash in AlignArrayOfStructures (#167099)

Fixes #157405
DeltaFile
+13-0clang/unittests/Format/FormatTest.cpp
+4-1clang/lib/Format/WhitespaceManager.cpp
+17-12 files

LLVM/project b644bfbmlir/include/mlir/Dialect/Func/Utils Utils.h, mlir/lib/Conversion/ArithToAPFloat ArithToAPFloat.cpp

address comments
DeltaFile
+14-16mlir/lib/Conversion/ArithToAPFloat/ArithToAPFloat.cpp
+4-4mlir/include/mlir/Dialect/Func/Utils/Utils.h
+4-3mlir/lib/Dialect/Func/Utils/Utils.cpp
+22-233 files

LLVM/project f0e6be1llvm/include/llvm/Support LEB128.h, llvm/lib/Support LEB128.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.5-bogner
DeltaFile
+92-1llvm/lib/Support/LEB128.cpp
+86-0llvm/unittests/Support/LEB128Test.cpp
+28-0llvm/include/llvm/Support/LEB128.h
+206-13 files

LLVM/project 930a664mlir/test/Integration/Dialect/Arith/CPU test-apfloat-emulation.mlir

improve test case
DeltaFile
+24-9mlir/test/Integration/Dialect/Arith/CPU/test-apfloat-emulation.mlir
+24-91 files

LLVM/project d406c15llvm/lib/Transforms/Vectorize VPlanConstruction.cpp LoopVectorize.cpp

[VPlan] Use VPInstructionWithType for casts in VPlan0. (NFC)

Use VPInstructionWithType for casts in VPlan0, to enable additional
analysis/transforms on VPlan0, and more accurate modeling in VPlan0.
DeltaFile
+10-4llvm/lib/Transforms/Vectorize/VPlanConstruction.cpp
+2-1llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+12-52 files

LLVM/project 700b77bllvm/lib/Transforms/InstCombine InstructionCombining.cpp, llvm/test/Transforms/InstCombine sink-dereferenceable-assume.ll

[InstCombine] Don't sink if it would require dropping deref assumptions. (#166945)

Currently sinking assumes in instcombine drops assumes if they would
prevent sinking. Removing dereferenceable assumptions earlier on can
inhibit vectorization of early-exit loops in practice.

Special-case deferenceable assumptions so that they block sinking. This
can be combined with a separate change to drop dereferencebale
assumptions after vectorization: https://clang.godbolt.org/z/jGqcx3sbs

PR: https://github.com/llvm/llvm-project/pull/166945

DeltaFile
+99-7llvm/test/Transforms/InstCombine/sink-dereferenceable-assume.ll
+46-56llvm/test/Transforms/PhaseOrdering/AArch64/std-find.ll
+9-2llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
+154-653 files

LLVM/project 8e0d7d8clang/lib/Analysis/LifetimeSafety Origins.cpp, clang/test/Sema warn-lifetime-safety.cpp

lifetime-safety-paren
DeltaFile
+31-0clang/test/Sema/warn-lifetime-safety.cpp
+17-0clang/unittests/Analysis/LifetimeSafetyTest.cpp
+2-0clang/lib/Analysis/LifetimeSafety/Origins.cpp
+50-03 files

LLVM/project 63fe60fllvm/utils/gn/secondary/bolt/lib/Rewrite BUILD.gn

[gn build] Port f2c50f930540
DeltaFile
+1-0llvm/utils/gn/secondary/bolt/lib/Rewrite/BUILD.gn
+1-01 files

LLVM/project f2c50f9bolt/include/bolt/Rewrite MetadataRewriters.h, bolt/lib/Rewrite RSeqRewriter.cpp RewriteInstance.cpp

[BOLT] Support restartable sequences in tcmalloc (#167195)

Add `RSeqRewriter` to detect code references from `__rseq_cs` section
and ignore function referenced from that section. Code references are
detected via relocations (static or dynamic).

Note that the abort handler is preceded by a 4-byte signature byte
sequence and we cannot relocate the handler without that the signature,
otherwise the application may crash. Thus we are ignoring the function,
i.e. making sure it's not separated from its signature.
DeltaFile
+72-0bolt/lib/Rewrite/RSeqRewriter.cpp
+38-0bolt/test/X86/rseq.s
+4-2bolt/include/bolt/Rewrite/MetadataRewriters.h
+2-0bolt/lib/Rewrite/RewriteInstance.cpp
+1-0bolt/lib/Rewrite/CMakeLists.txt
+117-25 files

LLVM/project 4023bebmlir/docs LangRef.md

Fix typo in LangRef.md regarding regions (#167242)

DeltaFile
+1-1mlir/docs/LangRef.md
+1-11 files

LLVM/project 818b350clang/lib/Analysis/LifetimeSafety Origins.cpp, clang/test/Sema warn-lifetime-safety.cpp

lifetime-safety-paren
DeltaFile
+24-0clang/test/Sema/warn-lifetime-safety.cpp
+17-0clang/unittests/Analysis/LifetimeSafetyTest.cpp
+2-0clang/lib/Analysis/LifetimeSafety/Origins.cpp
+43-03 files

LLVM/project 0daf453clang/lib/Analysis/LifetimeSafety Origins.cpp

lifetime-safety-paren
DeltaFile
+2-0clang/lib/Analysis/LifetimeSafety/Origins.cpp
+2-01 files