LLVM/project 0c60f7e — offload/liboffload/src OffloadImpl.cpp, offload/libompaccsupport device.cpp

[Offload][Omp] Move Kernel RecordReplay calls from PluginInterface (#232349)

Move the Record Replay calls to record a kernel launch to libomptarget.
The routines themselves remain inside the PluginInterface.

This allow to remove fields from KernelLaunchArgs that were specific to
RR so we can further align to liboffload kerenl launch (still not
there).
DeltaFile
+58-11offload/libompaccsupport/device.cpp
+29-11offload/plugins-nextgen/common/include/RecordReplay.h
+2-37offload/plugins-nextgen/common/src/PluginInterface.cpp
+18-19offload/plugins-nextgen/common/src/RecordReplay.cpp
+0-18offload/plugins-nextgen/common/include/PluginInterface.h
+0-1offload/liboffload/src/OffloadImpl.cpp
+107-976 files

LLVM/project f49f7a3 — llvm/lib/Analysis InlineCost.cpp, llvm/test/Transforms/Inline free-binop-cost.ll

[InlineCost] Ask TTI whether unsimplified binops and compares are free (#232397)

visitBinaryOperator and visitCmpInst charged every unsimplified
instruction without consulting TTI, unlike casts, GEPs and other instructions.
Return TCC_Free from TTI::getInstructionCost as visitCastInst does.
DeltaFile
+60-0llvm/test/Transforms/Inline/ARM/free-cmp-cost.ll
+30-0llvm/test/Transforms/Inline/free-binop-cost.ll
+10-3llvm/lib/Analysis/InlineCost.cpp
+100-33 files

LLVM/project 25173b0 — clang/unittests/libclang TestUtils.h

[libclang][test] Fix narrowing when initializing CXUnsavedFile::Length (#228405)

`CXUnsavedFile::Length` is `unsigned long`, which is 32 bits on 64-bit
Windows. The libclang unit test fixture list-initializes it from
`std::string::size()`, a narrowing conversion there and so ill-formed.
MSVC rejects it with error C2397 and clang-cl with `-Wc++11-narrowing`,
a default error.

No CMake bot sees this because clang/unittests/CMakeLists.txt skips the
libclang unit tests on Windows. The Bazel libclang_tests target builds
them there and fails to compile under `--config=msvc`. Cast explicitly,
as libclang itself already does where it narrows to `unsigned long`.

Related: https://github.com/llvm/llvm-project/issues/160729
DeltaFile
+4-3clang/unittests/libclang/TestUtils.h
+4-31 files

LLVM/project 76f14c2 — llvm/include/llvm/IR BasicBlock.h, llvm/lib/IR SafepointIRVerifier.cpp IntrinsicInst.cpp

[IR] Do not check result of getTerminator. NFC. (#232744)

Since #189416 BasicBlock::getTerminator cannot return nullptr.
DeltaFile
+2-6llvm/lib/IR/BasicBlock.cpp
+0-5llvm/lib/IR/Verifier.cpp
+2-3llvm/lib/IR/VerifierAMDGPU.cpp
+1-2llvm/include/llvm/IR/BasicBlock.h
+0-2llvm/lib/IR/IntrinsicInst.cpp
+0-1llvm/lib/IR/SafepointIRVerifier.cpp
+5-196 files

LLVM/project 41aa4cc — clang/test/SemaCXX cxx2c-fold-exprs.cpp

[clang] Add regression test for GH205000 (#232754)

Fixes #205000.

The crash described in the issue was fixed by #223311. This adds the
reduced reproducer as a regression test in cxx2c-fold-exprs.cpp, which
is where similar fold-expression constraint tests live.
DeltaFile
+15-0clang/test/SemaCXX/cxx2c-fold-exprs.cpp
+15-01 files

LLVM/project 1962ff6 — clang/lib/CIR/CodeGen CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP target-teams-distribute-llvm-host.c distribute-llvm.c

[CIR][OpenMP] Add initial support for distribute

This patch adds initial support for the OpenMP 'distribute' directive. Basic
code generation for the standalone and combined cases is introduced. Support
for clauses will be added in the future. The composite 'teams distribute
parallel for' form will be added in a subsequent patch.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+134-29clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+96-0clang/test/CIR/CodeGenOpenMP/target-teams-distribute.c
+79-0clang/test/CIR/CodeGenOpenMP/target-teams-distribute-llvm-device.c
+60-0clang/test/CIR/CodeGenOpenMP/distribute.c
+57-0clang/test/CIR/CodeGenOpenMP/distribute-llvm.c
+48-0clang/test/CIR/CodeGenOpenMP/target-teams-distribute-llvm-host.c
+474-291 files not shown
+486-297 files

LLVM/project 32225e8 — clang/lib/CIR/CodeGen CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP teams.c teams-llvm.c

[CIR][OpenMP] Add support for omp teams

This patch adds support for the OpenMP 'teams' directive, both standalone
and as the combined `target teams` construct. isCombinableLeaf now also
recognizes teams, so an explicitly-nested `target` + `teams` pair gets
the same omp.combined marking as the combined case.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+100-5clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+91-0clang/test/CIR/CodeGenOpenMP/target-teams-llvm-host.c
+86-0clang/test/CIR/CodeGenOpenMP/target-teams-llvm-device.c
+69-0clang/test/CIR/CodeGenOpenMP/target-teams.c
+65-0clang/test/CIR/CodeGenOpenMP/teams-llvm.c
+39-0clang/test/CIR/CodeGenOpenMP/teams.c
+450-51 files not shown
+463-87 files

LLVM/project 2052c56 — clang/lib/CIR/CodeGen CIRGenFunction.h CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP target-parallel-for-llvm-device.c target-parallel-for-llvm-host.c

[CIR][OpenMP] Add support for host_eval so that SPMD kernels can be used

This patch adds support for host_eval so that SPMD kernels and in the future
num_threads and other clauses can be implemented correctly.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+150-14clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+24-22clang/test/CIR/CodeGenOpenMP/target-parallel-for.c
+26-0clang/lib/CIR/CodeGen/CIRGenFunction.h
+11-0clang/test/CIR/CodeGenOpenMP/target-parallel-for-llvm-host.c
+2-2clang/test/CIR/CodeGenOpenMP/target-parallel-for-llvm-device.c
+213-385 files

LLVM/project 1eaa972 — mlir/include/mlir/Dialect/LLVMIR ROCDLDialect.td, mlir/lib/Target/LLVMIR/Dialect/ROCDL ROCDLToLLVMIRTranslation.cpp

[mlir][ROCDL] Deprecate rocdl.ignore_denormal_mode (#231424)

The `rocdl.ignore_denormal_mode` discardable attribute is deprecated in
favor of the `ignore_denormal_mode` unit attribute on `llvm.atomicrmw`
(#217588), which translates to the same `!atomic.ignore.denormal.mode`
metadata. Translation of `rocdl.ignore_denormal_mode` now emits a
deprecation warning.
DeltaFile
+8-0mlir/test/Target/LLVMIR/rocdl-invalid.mlir
+2-0mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
+1-0mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
+11-03 files

LLVM/project 5345bee — flang-rt/include/flang-rt/runtime descriptor.h allocator-registry.h, flang-rt/lib/runtime pointer.cpp descriptor.cpp

[flang-rt][device] Avoid pulling device malloc/free into every kernel (#232457)

The allocator registry stored pointers to MallocWrapper and FreeWrapper,
so
the device linker kept both and with them the device malloc and free.
The
first kernel launch then reserved the device malloc heap even though
nothing used it.

Do not store those pointers for the default allocator. Call malloc and
free
directly for it instead, so the linker can drop them when unused. Other
allocators still go through the registry.

Co-authored-by: Simone Atzeni <satzeni at nvidia.com>
DeltaFile
+16-10flang-rt/lib/runtime/allocator-registry.cpp
+11-6flang-rt/include/flang-rt/runtime/allocator-registry.h
+1-6flang-rt/include/flang-rt/runtime/descriptor.h
+2-2flang-rt/lib/runtime/pointer.cpp
+2-2flang-rt/lib/runtime/descriptor.cpp
+32-265 files

LLVM/project 4c7ad9f — llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.h SPIRVNonSemanticDebugHandler.cpp, llvm/test/CodeGen/SPIRV/debug-info debug-scope-lexical-block-file.ll debug-lexical-block-discriminator.ll

[SPIRV] Emit DebugLexicalBlockDiscriminator for a DILexicalBlockFile.

A location scoped at a DILexicalBlockFile was emitted as a DebugScope of the compilation unit, so the discriminator did not round-trip.
Use the discriminator as the DebugScope operand, matching SPIRV-LLVM-Translator.
DeltaFile
+41-32llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+67-0llvm/test/CodeGen/SPIRV/debug-info/debug-lexical-block-discriminator.ll
+17-6llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+7-5llvm/test/CodeGen/SPIRV/debug-info/debug-scope-lexical-block-file.ll
+132-434 files

LLVM/project 5018122 — llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/lib/Transforms/Vectorize/SLPVectorizer SLPUtils.cpp

[SLP][NFC]Reduce compile time of seeding and reductions, NFC

Compute the poison check in isFixedVectorShuffle only for undef vectors.
Do not treat calls without vector variants as poor-throughput ops.
Skip the split store seeding if no stored scalar is a candidate.
Mark the root of a failed ordered reduction as analyzed to avoid
rebuilding the same trees.

Fixes the compile-time regression from #231130.

Assisted-by: Cursor

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/232782
DeltaFile
+27-11llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+15-8llvm/lib/Transforms/Vectorize/SLPVectorizer/SLPUtils.cpp
+42-192 files

LLVM/project 06d62fc — llvm/include/llvm/IR BasicBlock.h, llvm/lib/IR BasicBlock.cpp

[IR] Rename BasicBlock::getFirstNonPHIOrDbg* (NFC) (#232604)

This patch renames the functions in BasicBlock as follows because they
no longer check for debug intrinsics:

- getFirstNonPHIOrDbg           -> getFirstNonPHIOrPseudoProbe
- getFirstNonPHIOrDbgOrLifetime -> getFirstNonPHIOrLifetime
- getFirstNonPHIOrDbgOrAlloca   -> getFirstNonPHIOrAlloca

This patch also drops the SkipPseudoOp parameter from
getFirstNonPHIOrPseudoProbe and getFirstNonPHIOrLifetime because every
caller uses the default value of true.

Note that all three functions still return iterators with the head bit
unset so that insertions at the returned position are placed after any
DbgRecords attached to that instruction.

Assisted-by: Antigravity
DeltaFile
+14-19llvm/include/llvm/IR/BasicBlock.h
+5-16llvm/lib/IR/BasicBlock.cpp
+7-8llvm/lib/Transforms/Utils/IRNormalizer.cpp
+5-5llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+5-4llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+4-4llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp
+40-5639 files not shown
+104-11945 files

LLVM/project 6cbfe12 — clang/include/clang/Analysis/Analyses/LifetimeSafety Origins.h

[clang] Replace PointerUnion::dyn_cast with llvm::dyn_cast (NFC) (#232603)

PointerUnion::dyn_cast has been soft-deprecated in favor of
llvm::dyn_cast and llvm::dyn_cast_if_present.  This patch replaces the
former with llvm::dyn_cast where the operand is guaranteed to be
nonnull.

Note that Origin::Ptr is always initialized to a nonnull pointer in
OriginManager::createNode and never modified afterward.

Assisted-by: Antigravity
DeltaFile
+2-2clang/include/clang/Analysis/Analyses/LifetimeSafety/Origins.h
+2-21 files

LLVM/project da46d92 — llvm/lib/Target/AArch64 AArch64TargetTransformInfo.cpp, llvm/test/Analysis/CostModel/AArch64 bsl.ll

[AArch64][TTI] Cost NEON Nots absorbed by And/Or users as free
DeltaFile
+7-9llvm/test/Analysis/CostModel/AArch64/bsl.ll
+12-0llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
+19-92 files

LLVM/project 13ce525 — llvm/lib/Target/Hexagon HexagonISelDAGToDAGHVX.cpp, llvm/test/CodeGen/Hexagon/autohvx ieeetoqfloat.ll

[Hexagon] Optimize vcvt(v0.uh) and vcvt(v0.ub) to hf (#232460)

This patch shortens the sequences for V6_vcvt_hf_uh and V6_vcvt_hf_ub.
V6_vcvt_hf_uh now zero-extends to word, converts each half to sf, and
adds a bias constant to produce hf directly, instead of widening through
a zero vector and packing back down through h. V6_vcvt_hf_ub converts
its unpacked halfwords to hf directly, dropping the same
zero-extend/pack/shuffle round trip, since the unpacked halfwords are
already suitable h input.

Co-authored-by: Sumanth Gundapaneni <sgundapa at quicinc.com>
DeltaFile
+38-49llvm/lib/Target/Hexagon/HexagonISelDAGToDAGHVX.cpp
+17-24llvm/test/CodeGen/Hexagon/autohvx/ieeetoqfloat.ll
+55-732 files

LLVM/project 8014cff — llvm/lib/CodeGen MachinePipeliner.cpp MachineLoopInfo.cpp

[CodeGen] Do not check result of getTerminator. NFC. (#232749)

Since #189416 BasicBlock::getTerminator cannot return nullptr.
DeltaFile
+0-3llvm/lib/CodeGen/MachinePipeliner.cpp
+0-3llvm/lib/CodeGen/MachineLoopInfo.cpp
+0-3llvm/lib/CodeGen/CodeGenPrepare.cpp
+0-93 files

LLVM/project 475d965 — llvm/test/CodeGen/X86 veclib-llvm.pow.ll, llvm/test/Transforms/Util/DeclareRuntimeLibcalls sleef-riscv.ll libmvec.ll

RuntimeLibcalls: Add the remaining vector libraries

Add definitions for Accelerate, Darwin_libsystem_m, LIBMVEC, MASSV and
SVML, and fill out SLEEFGNUABI, ArmPL and AMDLIBM to match VecFuncs.def.
The struct-returning ArmPL modf and sincos variants need new _STRET
libcalls.

With the new implementations available, type-split vector math calls
can now be expanded, and the vectorizer keeps pow as an intrinsic for
codegen to lower to the library call.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+421-0llvm/test/CodeGen/X86/veclib-llvm.pow.ll
+328-5llvm/test/Transforms/Util/DeclareRuntimeLibcalls/armpl.ll
+313-2llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef.ll
+260-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/amdlibm.ll
+206-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/libmvec.ll
+177-0llvm/test/Transforms/Util/DeclareRuntimeLibcalls/sleef-riscv.ll
+1,705-711 files not shown
+2,146-4817 files

LLVM/project 104c93c — mlir/include/mlir/Dialect/LLVMIR NVVMDialect.h, mlir/lib/Dialect/LLVMIR/IR NVVMDialect.cpp

[mlir][NVVM][NFC] Predeclare `ModuleTranslation` to improve build times (#232727)

The NVVMDialect's LLVM IR export is currently layered such that it is
interwoven with the dialect implementation. For many ops, a
`getIntrinsicIDAndArgs` method implements the translation to LLVM IR and
requires the declaration of `mlir::LLVM::ModuleTranslation`. The header
for the latter is a rather heavy header that includes all of OpenMP
Dialect and more.

This PR makes NVVMDialect.h faster to parse by predeclaring
`mlir::LLVM::ModuleTranslation` rather than including its definition. In
a local build tested on a AMD Ryzen Threadripper PRO 5975WX this saved
aorund 2.4s of compile time per-file that includes NVVMDialect.h for a
total of 65.4s of CPU time saved.

I believe that ideally the LLVM IR translation should be moved to and
contained in NVVMToLLVMIRTranslation but is left as a future change
after these "easy" compile time changes have been applied.
DeltaFile
+3-1mlir/include/mlir/Dialect/LLVMIR/NVVMDialect.h
+1-0mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
+4-12 files

LLVM/project d8e214a — llvm/include/llvm/IR RuntimeLibcallsImpl.td RuntimeLibcalls.td, llvm/lib/IR RuntimeLibcalls.cpp

RuntimeLibcalls: Generate vector library libcall sets

Replace the hand-written VectorLibrary switch with LibcallLibrary
definitions, enabled by the generated setAvailableLibraryLibcalls
function. This only covers the functions that were already handled;
future changes will fill in the cases still missing relative to
TargetLibraryInfo.

Libraries used by a SystemRuntimeLibrary are already enabled by
setTargetRuntimeLibcallSets, so only the remaining libraries can be
enabled by name. In the future I want to retire the
SystemRuntimeLibrary concept and reduce it to a list of libraries.

Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
DeltaFile
+108-42llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+86-0llvm/test/TableGen/RuntimeLibcallEmitter-library-by-name.td
+25-58llvm/lib/IR/RuntimeLibcalls.cpp
+28-0llvm/include/llvm/IR/RuntimeLibcalls.td
+1-0llvm/test/TableGen/RuntimeLibcallEmitter-library-unreferenced.td
+1-0llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+249-1006 files

LLVM/project 042d5dd — clang/lib/CIR/CodeGen CIRGenStmtOpenMP.cpp, clang/test/CIR/CodeGenOpenMP target-teams-distribute-llvm-host.c distribute-llvm.c

[CIR][OpenMP] Add initial support for distribute

This patch adds initial support for the OpenMP 'distribute' directive. Basic
code generation for the standalone and combined cases is introduced. Support
for clauses will be added in the future. The composite 'teams distribute
parallel for' form will be added in a subsequent patch.

Assisted-by: Cursor / Claude Sonnet 5 High
DeltaFile
+134-29clang/lib/CIR/CodeGen/CIRGenStmtOpenMP.cpp
+96-0clang/test/CIR/CodeGenOpenMP/target-teams-distribute.c
+79-0clang/test/CIR/CodeGenOpenMP/target-teams-distribute-llvm-device.c
+60-0clang/test/CIR/CodeGenOpenMP/distribute.c
+57-0clang/test/CIR/CodeGenOpenMP/distribute-llvm.c
+48-0clang/test/CIR/CodeGenOpenMP/target-teams-distribute-llvm-host.c
+474-291 files not shown
+486-297 files

LLVM/project 761e81c — clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, clang/test/CIR/CodeGen call-conv-lowering-amdgpu-return-types.c call-conv-lowering-amdgpu-cxx-records.cpp

NYI checks
DeltaFile
+37-0clang/test/CIR/Transforms/abi-lowering/amdgpu-indirect-nyi.cir
+4-0clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+1-1clang/test/CIR/CodeGen/call-conv-lowering-amdgpu-return-types.c
+1-1clang/test/CIR/CodeGen/call-conv-lowering-amdgpu-cxx-records.cpp
+43-24 files

LLVM/project 17f6e2b — clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, clang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp

update targetInfoFor
DeltaFile
+23-13clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+2-0clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+25-132 files

LLVM/project c126b96 — clang/include/clang/CIR/Dialect Passes.td, clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp

rebase and fixes per feedback
DeltaFile
+19-19clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+28-10clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+6-5clang/include/clang/CIR/Dialect/Passes.td
+53-343 files

LLVM/project 22680cb — clang/lib/CIR/Dialect/Transforms CallConvLoweringPass.cpp, clang/test/CIR/CodeGen call-conv-lowering-amdgpu-cxx-records.cpp call-conv-lowering-amdgpu-return-types.c

[CIR] Wire AMDGPU into the call-convention lowering pass
DeltaFile
+131-72clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+165-0clang/test/CIR/CodeGen/call-conv-lowering-amdgpu-arg-types.c
+158-0clang/test/CIR/CodeGen/call-conv-lowering-amdgpu-return-types.c
+140-0clang/test/CIR/CodeGenHIP/call-conv-lowering-amdgpu-kernel-args.hip
+74-0clang/test/CIR/CodeGen/call-conv-lowering-amdgpu-cxx-records.cpp
+59-0clang/test/CIR/Transforms/abi-lowering/amdgpu-calling-conv.cir
+727-7210 files not shown
+820-9016 files

LLVM/project 041c28a — lldb CMakeLists.txt, llvm-libgcc CMakeLists.txt

[CMake] Bump the minimum required version to 3.31

This is a follow up to e192ec42b426f6ffbc25419238a90f3c59088587 which
changes the warning to an error when using CMake older than 3.31.

See
https://discourse.llvm.org/t/91086

Assisted-by: Codex
DeltaFile
+1-9polly/CMakeLists.txt
+1-9openmp/CMakeLists.txt
+1-9offload/CMakeLists.txt
+1-9mlir/CMakeLists.txt
+1-9llvm-libgcc/CMakeLists.txt
+1-9lldb/CMakeLists.txt
+6-5414 files not shown
+20-17420 files

LLVM/project 1bc4fd0 — libcxx/utils/ci run-buildbot ensure-cmake.sh

[libc++] Provision a suitable CMake for CI builds

The previous commit raised cmake_minimum_required to 3.31. The GitHub
jobs already satisfy it (the Linux image pins 3.31.0, macOS uses brew,
Windows uses the hosted image), but some self-hosted Buildkite agents
ship an older CMake and their images cannot be updated by us.

Teach run-buildbot to check the CMake version up front. When the cmake
on PATH is new enough, this costs a single `cmake --version` and nothing
else changes. Otherwise, download a pinned, SHA-256 verified CMake
3.31.12 release binary into ${XDG_CACHE_HOME:-~/.cache}/libcxx (outside
the build directory that run-buildbot wipes) and, when no binary exists
for the host or it cannot run there, bootstrap it from source with the
host compilers rather than the runtime's CC/CXX. The install is
published with an atomic rename so concurrent builders on one agent
never see a partial cache entry.

An explicit CMAKE override is still honored but now validated; in the
provisioned or overridden cases its directory is prepended to PATH so

    [5 lines not shown]
DeltaFile
+180-0libcxx/utils/ci/ensure-cmake.sh
+25-11libcxx/utils/ci/run-buildbot
+205-112 files

LLVM/project 01ec020 — llvm/test/Analysis/CostModel/AArch64 bsl.ll

[AArch64][TTI] Add pre-commit tests (NFC)
DeltaFile
+85-2llvm/test/Analysis/CostModel/AArch64/bsl.ll
+85-21 files

LLVM/project e924218 — mlir/lib/Dialect/X86/Transforms VectorContractToAMXDotProduct.cpp, mlir/test/Dialect/X86/AMX vector-contract-to-tiled-dp.mlir

[mlir][x86] Support rank-reducing RHS reads in AMX online packing (#232279)

Allows AMX online packing to handle rank-reducing RHS reads.

For a rank-reducing read, the sizes miss the dropped leading unit dims,
which hit an assertion when creating the subview. The packing loads also
indexed the subview with the read's leading offsets twice.

Assisted-by: Claude
DeltaFile
+63-0mlir/test/Dialect/X86/AMX/vector-contract-to-tiled-dp.mlir
+16-11mlir/lib/Dialect/X86/Transforms/VectorContractToAMXDotProduct.cpp
+79-112 files

LLVM/project 2c048b8 — llvm/lib/Analysis IVDescriptors.cpp, llvm/test/Transforms/LoopVectorize first-order-recurrence.ll first-order-recurrence-invariant-backedge.ll

[LV] Loop-invariant backedge values prevent recognition of fixed-order recurrence (#228021)

Fixes #228018 by handling fixed-order recurrences with loop-invariant backedge values.
DeltaFile
+146-0llvm/test/Transforms/LoopVectorize/first-order-recurrence-invariant-backedge.ll
+103-15llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
+8-1llvm/lib/Analysis/IVDescriptors.cpp
+257-163 files