LLVM/project 1f7a67fllvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 fma-conversion-multi-use-guard.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+6-14llvm/test/Transforms/SLPVectorizer/AArch64/fma-conversion-multi-use-guard.ll
+16-0llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+22-142 files

LLVM/project b66d98alldb/examples/python formatter_bytecode.py, lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode RigidArrayLLDBFormatterSwift.txt

[lldb][bytecode] Improvements to compiler generated Swift (#189425)

Following feedback from @benrimmington in
https://github.com/apple/swift-collections/pull/607, this changes the
following:

1. Uses `objectFormat()` compiler conditional instead of `os()` (see
"Cross-platform object file format support" in
[SE-0492](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0492-section-control.md#cross-platform-object-file-format-support))
2. Uses a raw identifier for the generated Swift symbol name, instead of
an escaped name (see
[SE-0451](https://github.com/swiftlang/swift-evolution/blob/main/proposals/0451-escaped-identifiers.md))
DeltaFile
+4-8lldb/examples/python/formatter_bytecode.py
+2-2lldb/test/Shell/ScriptInterpreter/Python/Inputs/FormatterBytecode/RigidArrayLLDBFormatterSwift.txt
+6-102 files

LLVM/project 67c3429mlir/docs Interfaces.md, mlir/docs/Tools mlir-reduce.md

[mlir][docs] dialect interfaces and mlir reduce documentation fix (#189258)

Two modifications:

1. Reflect newly added dialect interface methods in the documentation
2. Remove the bug in the `MLIR Reduce` documentation
DeltaFile
+24-2mlir/docs/Interfaces.md
+3-0mlir/docs/Tools/mlir-reduce.md
+27-22 files

LLVM/project e891812llvm/lib/CodeGen ExpandVectorPredication.cpp, llvm/lib/Target/RISCV RISCVISelLowering.cpp

[RISCV] Remove codegen for vp_minimum, vp_maximum (#189550)

Part of the work to remove trivial VP intrinsics from the RISC-V
backend, see
https://discourse.llvm.org/t/rfc-remove-codegen-support-for-trivial-vp-intrinsics-in-the-risc-v-backend/87999

This splits off two intrinsics from #179622.
DeltaFile
+462-654llvm/test/CodeGen/RISCV/rvv/fminimum-vp.ll
+462-654llvm/test/CodeGen/RISCV/rvv/fmaximum-vp.ll
+221-269llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fminimum-vp.ll
+221-269llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fmaximum-vp.ll
+3-22llvm/lib/Target/RISCV/RISCVISelLowering.cpp
+3-1llvm/lib/CodeGen/ExpandVectorPredication.cpp
+1,372-1,8691 files not shown
+1,372-1,8717 files

LLVM/project 38c0f53llvm/test/Transforms/SLPVectorizer/AArch64 fma-conversion-multi-use-guard.ll

[SLP][NFC] Add a test for incorrect fma-conversion for fmuls with multi uses
DeltaFile
+153-0llvm/test/Transforms/SLPVectorizer/AArch64/fma-conversion-multi-use-guard.ll
+153-01 files

LLVM/project ff4e229llvm/lib/Transforms/Vectorize VPlanRecipes.cpp VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/RISCV riscv-vector-reverse.ll tail-folding-reverse-load-store.ll

Revert "[VPlan] Extract reverse mask from reverse accesses" (#189637)

Reverts llvm/llvm-project#155579

Assertion added triggers on some buildbots
clang:
/home/tcwg-buildbot/worker/clang-aarch64-sve2-vla/llvm/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp:3840:
virtual InstructionCost
llvm::VPWidenMemoryRecipe::computeCost(ElementCount, VPCostContext &)
const: Assertion `!IsReverse() && "Inconsecutive memory access should
not have reverse order"' failed.
PLEASE submit a bug report to
https://github.com/llvm/llvm-project/issues/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments:
/home/tcwg-buildbot/worker/clang-aarch64-sve2-vla/stage1.install/bin/clang
-DNDEBUG -mcpu=neoverse-v2 -mllvm -scalable-vectorization=preferred -O3
-std=gnu17 -fcommon -Wno-error=incompatible-pointer-types -MD -MT

    [3 lines not shown]
DeltaFile
+42-50llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+30-34llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+27-12llvm/lib/Transforms/Vectorize/VPlan.h
+21-18llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+8-8llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
+8-6llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-reverse-load-store.ll
+136-1288 files not shown
+160-14914 files

LLVM/project 09c54a8mlir/include/mlir/Dialect/SPIRV/IR TargetAndABI.h, mlir/lib/Conversion/SCFToSPIRV SCFToSPIRV.cpp

[mlir][SPIR-V] Support spirv.loop_control attribute on scf.for and scf.while (#189392)

Propagate the `spirv.loop_control` attribute from `scf.for` and
`scf.while` operations to the generated `spirv.mlir.loop` during
SCFToSPIRV conversion
DeltaFile
+26-0mlir/test/Conversion/SCFToSPIRV/for.mlir
+17-0mlir/test/Conversion/SCFToSPIRV/while.mlir
+11-4mlir/lib/Conversion/SCFToSPIRV/SCFToSPIRV.cpp
+4-0mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
+3-0mlir/include/mlir/Dialect/SPIRV/IR/TargetAndABI.h
+2-0mlir/lib/Dialect/SPIRV/IR/TargetAndABI.cpp
+63-46 files

LLVM/project 2c5af14llvm/test/CodeGen/WebAssembly strided-int-mac.ll

[NFC][WebAssembly] More codegen tests (#189671)
DeltaFile
+235-0llvm/test/CodeGen/WebAssembly/strided-int-mac.ll
+235-01 files

LLVM/project bb55c4bclang/include/clang/CIR/Dialect/IR CIRTypes.td, clang/lib/CIR/CodeGen CIRGenExprConstant.cpp

[CIR] Implement member-pointer members lowering/CXX ABI lowering (#187327)

Record types with a member pointer as a member require quite a bit of
work to get to function properly. First, we have to wire them through
the AST->CIR lowering to make sure we properly represent them, and
represent them when they're zero initializable. We also have to properly
initialize elements when we're NOT zero initializable.

More importantly, we have to implement the CXXABILowering of record
types. Before this patch, we just assumed that all RecordTypes were
legal, since we didn't have the above lowering. A vast majority of this
patch is around getting RecordTypes to lower properly. There isn't
really a good way to test this without the FE changes, so it wasn't
split off.

We accomplish this in 2 phases: First, we transform each individual
record type along the way, giving it a new cxx-abi specific name. We
have to ensure that recursive evaluation works correctly, so we pulled
the solution from the LLVM-IR dialect for that. Secondly, we rename all

    [13 lines not shown]
DeltaFile
+482-48clang/lib/CIR/Dialect/Transforms/CXXABILowering.cpp
+88-0clang/test/CIR/Transforms/cxx-abi-lowering-attrs.cir
+79-5clang/test/CIR/CodeGen/nonzeroinit-struct.cpp
+24-5clang/include/clang/CIR/Dialect/IR/CIRTypes.td
+6-21clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
+21-1clang/lib/CIR/Dialect/IR/CIRTypes.cpp
+700-808 files not shown
+766-8614 files

LLVM/project 9d7b075llvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/test/MC/AArch64 armv9.6a-pcdphint.s

[AArch64][llvm] Fix encoding for `stshh` instruction (#189588)

The encoding for `stshh` was incorrect, and has been fixed. This
has been checked against the Arm ARM.
DeltaFile
+4-4llvm/test/MC/AArch64/armv9.6a-pcdphint.s
+1-1llvm/lib/Target/AArch64/AArch64InstrFormats.td
+5-52 files

LLVM/project acc609blibcxx/docs/ReleaseNotes 23.rst

[libc++][NFC] Removed an EOL stray white space in Release Notes (#189654)
DeltaFile
+1-1libcxx/docs/ReleaseNotes/23.rst
+1-11 files

LLVM/project efbd596llvm/lib/Target/AMDGPU SIInstrInfo.td AMDGPUInstructions.td

[AMDGPU][NFCI] CustomOperand to have a default type (#189584)

Most of the time, we should not need to care about the type at all, so
having it as a mandatory parameter confuses people and invites using
i1/i8/i16 where not necessary.
DeltaFile
+34-34llvm/lib/Target/AMDGPU/SIInstrInfo.td
+3-3llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
+1-1llvm/lib/Target/AMDGPU/SOPInstructions.td
+38-383 files

LLVM/project aca7145llvm/lib/Target/AArch64 AArch64InstrFormats.td, llvm/test/MC/AArch64 armv9.6a-pcdphint.s

[AArch64][llvm] Fix encoding for `stshh` instruction (#189588)

The encoding for `stshh` was incorrect, and has been fixed. This
has been checked against the Arm ARM.
DeltaFile
+2-2llvm/test/MC/AArch64/armv9.6a-pcdphint.s
+1-1llvm/lib/Target/AArch64/AArch64InstrFormats.td
+3-32 files

LLVM/project a693a8ccompiler-rt/lib/builtins/arm divdf3.S muldf3.S

Update for #189336 renaming endian.h
DeltaFile
+1-1compiler-rt/lib/builtins/arm/divdf3.S
+1-1compiler-rt/lib/builtins/arm/muldf3.S
+2-22 files

LLVM/project 5a89da7libc/hdr/types siginfo_t.h CMakeLists.txt, libc/src/signal/linux signal_utils.h sigaction.cpp

[libc][signal] cleanup sigaction implementation (#189512)
DeltaFile
+34-3libc/src/signal/linux/signal_utils.h
+5-26libc/src/signal/linux/sigaction.cpp
+21-0libc/hdr/types/siginfo_t.h
+6-5libc/src/signal/linux/CMakeLists.txt
+8-0libc/hdr/types/CMakeLists.txt
+74-345 files

LLVM/project e748377lldb/test/API/tools/lldb-dap/attach TestDAP_attach.py, lldb/tools/lldb-dap/Handler AttachRequestHandler.cpp

[lldb-dap] Correct attaching by program basename. (#188886)

Fixes an issue where attaching by program would fail if the program name
was a partial name (e.g. "foobar" instead of "/path/to/foobar").

We failed to create the target which caused the attach to fail. Now we
fallback to the dummy target and update to the real target after the
attach completes.

Here is an example launch configuration that fail:

```
{
  "type": "lldb-dap",
  "name": "Attach (wait)",
  "request": "attach",
  "program": "foobar",
  "waitFor": true
},
```
DeltaFile
+25-0lldb/test/API/tools/lldb-dap/attach/TestDAP_attach.py
+16-8lldb/tools/lldb-dap/Handler/AttachRequestHandler.cpp
+41-82 files

LLVM/project 9bed667llvm/lib/Target/AMDGPU GCNVOPDUtils.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.fdot2.ll llvm.amdgcn.fdot2.f32.bf16.ll

AMDGPU: Fix generation for dot2 VOPD with sgpr inputs

There was no check for sgpr operand in src1 operand.
DeltaFile
+212-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.ll
+109-0llvm/test/CodeGen/AMDGPU/llvm.amdgcn.fdot2.f32.bf16.ll
+6-1llvm/lib/Target/AMDGPU/GCNVOPDUtils.cpp
+327-13 files

LLVM/project 46dd9d6llvm/lib/CodeGen/SelectionDAG DAGCombiner.cpp, llvm/test/CodeGen/AArch64 abdu-neg.ll abds-neg.ll

[SDAG][abd] Combine abd of small types (#181538)

It is beneficial to combine abd of illegal, small types (types that get promoted to wider scalar size).
DeltaFile
+80-71llvm/test/CodeGen/RISCV/abdu-neg.ll
+62-83llvm/test/CodeGen/RISCV/abds-neg.ll
+6-10llvm/test/CodeGen/AArch64/abdu-neg.ll
+6-10llvm/test/CodeGen/AArch64/abds-neg.ll
+6-2llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
+3-4llvm/test/CodeGen/PowerPC/ppc64-P9-vabsd.ll
+163-1806 files

LLVM/project 7d0bf88llvm/lib/Frontend/OpenMP OMPContext.cpp

OpenMP: Match all Triple recognized arch aliases (#189649)

This liberalizes match(device = {arch(some_arch)} to recognize
other names for some_arch.

Previously this compared against getArchTypeForLLVMName, which
only matches a subset of names (which seems to be the canonical
architecture names). There was a special case hack for "x86_64",
which is one of the "x86-64" aliases accepted by parseArch, but is
not the canonical architecture name.
DeltaFile
+2-9llvm/lib/Frontend/OpenMP/OMPContext.cpp
+2-91 files

LLVM/project 10ea3delibc/src/__support/OSUtil/linux/syscall_wrappers raise.h CMakeLists.txt, libc/src/signal/linux raise.cpp CMakeLists.txt

[libc][syscall] lift raise to syscall wrapper (#189507)
DeltaFile
+68-0libc/src/__support/OSUtil/linux/syscall_wrappers/raise.h
+8-9libc/src/signal/linux/raise.cpp
+14-0libc/src/__support/OSUtil/linux/syscall_wrappers/CMakeLists.txt
+2-4libc/src/signal/linux/CMakeLists.txt
+92-134 files

LLVM/project d5d32d3llvm/include/llvm/TargetParser Triple.h, llvm/lib/TargetParser Triple.cpp

Triple: Expose parseArch as a public method (#189648)

Clang has some code which is doing a direct arch name
string compare which should really be recognizing anything
usable as a triple architecture. It makes more sense to
directly parse the architecture than to construct a temporary
triple just to see what the parsed arch is.

For some reason the existing public parsing method is
getArchTypeForLLVMName. I'm not fully sure what the difference 
between the 2 is supposed to be. My current guess is 
getArchTypeForLLVMName is only supposed to handle the 
canonical architecture name.
DeltaFile
+4-0llvm/include/llvm/TargetParser/Triple.h
+1-1llvm/lib/TargetParser/Triple.cpp
+5-12 files

LLVM/project dcfa49dclang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph CallGraphExtractor.cpp, clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph CallGraphExtractorTest.cpp

Merge branch 'main' into users/DavidTruby/omp-arm64x
DeltaFile
+470-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
+379-0llvm/test/CodeGen/WebAssembly/strided-int-mac.ll
+184-0mlir/test/Dialect/SPIRV/IR/tosa-ops-verification.mlir
+142-0llvm/unittests/DebugInfo/PDB/TpiStreamTest.cpp
+133-0mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTosaOps.td
+106-0clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
+1,414-075 files not shown
+2,041-24881 files

LLVM/project c2bd363openmp/runtime/cmake arm64x.cmake

Fix argument passing
DeltaFile
+2-1openmp/runtime/cmake/arm64x.cmake
+2-11 files

LLVM/project 9f8fc65llvm/lib/Passes PassBuilderPipelines.cpp, llvm/test/Other new-pm-thinlto-prelink-pgo-defaults.ll new-pm-thinlto-postlink-defaults.ll

[Passes] Remove some optsize checks (#189369)

LibCallsShrinkWrapPass and PGOMemOPSizeOpt already check for optsize
attributes internally, so there is no need to handle this in the pass
pipeline.

The context here is that I'd like to make the pass pipeline completely
independent of Os/Oz so that we know for sure that function-level
optsize/minsize attributes behave identically to the pipeline-level
option.
DeltaFile
+2-5llvm/test/Other/new-pm-thinlto-prelink-pgo-defaults.ll
+2-5llvm/lib/Passes/PassBuilderPipelines.cpp
+1-3llvm/test/Other/new-pm-thinlto-postlink-defaults.ll
+1-3llvm/test/Other/new-pm-thinlto-postlink-pgo-defaults.ll
+1-3llvm/test/Other/new-pm-thinlto-postlink-samplepgo-defaults.ll
+1-3llvm/test/Other/new-pm-thinlto-prelink-samplepgo-defaults.ll
+8-222 files not shown
+10-288 files

LLVM/project 006d8d6llvm/lib/Target/AMDGPU SIFoldOperands.cpp, llvm/test/CodeGen/AMDGPU si-fold-operands-or.mir constant-fold-mi-operands.ll

[AMDGPU][SIFoldOperands] Fix OR -1 fold

In SIFoldOperands, folding `or x, -1` to `v_mov_b32 -1` removed `Src1Idx`,
which is incorrect because `-1` is in `Src0Idx` (after canonicalization).
DeltaFile
+17-0llvm/test/CodeGen/AMDGPU/si-fold-operands-or.mir
+1-1llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+1-1llvm/test/CodeGen/AMDGPU/constant-fold-mi-operands.ll
+19-23 files

LLVM/project 1431107llvm/lib/Analysis ConstantFolding.cpp, llvm/test/Transforms/InstSimplify constant-fold-fp-denormal.ll

[LLVM][ConstantFold] Ensure scalar type is queried when determining denormal mode. (#189600)

Fixes https://github.com/llvm/llvm-project/issues/187928
DeltaFile
+18-0llvm/test/Transforms/InstSimplify/constant-fold-fp-denormal.ll
+2-1llvm/lib/Analysis/ConstantFolding.cpp
+20-12 files

LLVM/project 0435ba3llvm/include/llvm/IR Instruction.h, llvm/include/llvm/Support Alignment.h

feedback + update MetadataRecycleSize only in assert builds

Created using spr 1.3.8-wip
DeltaFile
+7-3llvm/lib/IR/Metadata.cpp
+5-4llvm/lib/IR/Globals.cpp
+3-0llvm/lib/IR/LLVMContextImpl.h
+1-1llvm/include/llvm/Support/Alignment.h
+1-1llvm/lib/IR/LLVMContextImpl.cpp
+0-1llvm/include/llvm/IR/Instruction.h
+17-106 files

LLVM/project e3b6426llvm/test/CodeGen/WebAssembly strided-int-mac.ll

[NFC][WebAssembly] CodeGen test (#189626)
DeltaFile
+379-0llvm/test/CodeGen/WebAssembly/strided-int-mac.ll
+379-01 files

LLVM/project d08ebbeclang/include/clang/ScalableStaticAnalysisFramework SSAFBuiltinForceLinker.h, clang/include/clang/ScalableStaticAnalysisFramework/Analyses/CallGraph CallGraphSummary.h

[clang][ssaf] Add CallGraph summary and extractor (#188753)

rdar://170258016
DeltaFile
+470-0clang/unittests/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractorTest.cpp
+106-0clang/lib/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphExtractor.cpp
+53-0clang/include/clang/ScalableStaticAnalysisFramework/Analyses/CallGraph/CallGraphSummary.h
+3-5clang/unittests/ScalableStaticAnalysisFramework/Registries/SummaryExtractorRegistryTest.cpp
+7-0clang/include/clang/ScalableStaticAnalysisFramework/SSAFBuiltinForceLinker.h
+4-1llvm/utils/gn/secondary/clang/lib/ScalableStaticAnalysisFramework/Analyses/BUILD.gn
+643-69 files not shown
+653-715 files

LLVM/project 0ef10d6llvm/lib/Target/SPIRV SPIRVInstrInfo.td, llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix cooperative_matrix.ll

[SPIR-V] Fix OpCooperativeMatrixLengthKHR operand type (#189630)

related to #188703
DeltaFile
+1-4llvm/test/CodeGen/SPIRV/extensions/SPV_KHR_cooperative_matrix/cooperative_matrix.ll
+1-1llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
+2-52 files