LLVM/project fc25409mlir/test/Dialect/LLVMIR types-invalid.mlir, mlir/test/Dialect/Linalg hoisting.mlir

[mlir] Remove unnecessary allow-unregistered-dialect flags (#220613)

This is bad practice, instead use unknown operations in the test dialect
when tests only need placeholders.

Use a registered SPIR-V operation for translation diagnostics.

Assisted-by: Codex
DeltaFile
+220-220mlir/test/Dialect/Vector/vector-warp-distribute.mlir
+111-111mlir/test/Transforms/move-operation-deps.mlir
+76-76mlir/test/Dialect/XeGPU/sg-to-lane-distribute-unit.mlir
+66-66mlir/test/Dialect/Linalg/hoisting.mlir
+33-33mlir/test/Dialect/MLProgram/pipeline-globals.mlir
+29-29mlir/test/Dialect/LLVMIR/types-invalid.mlir
+535-53521 files not shown
+599-59727 files

LLVM/project 7fddb2elibc/cmake/modules LLVMLibCCheckCpuFeatures.cmake, libc/cmake/modules/cpu_features check_MVE.cpp check_MVE_FP.cpp

[libc][baremetal] add MVE/MVE_FP feature flags detection (#220345)

This patch adds MVE/MVE_FP SIMD feature flags for baremetal targets.
Cortex-M85/Cortex-M55 introduced the M-profile Vector Extension
(Helium). The detection is via the `__ARM_FEATURE_MVE` bitfield as
described in the Arm C Language Extensions (ACLE): bit 0 is set when
the MVE integer instructions are available, bit 1 when the
floating-point instructions are also available.

Co-authored-by: Claude Fable 5 <noreply at anthropic.com>
DeltaFile
+10-0libc/src/__support/macros/properties/cpu_features.h
+5-0libc/cmake/modules/cpu_features/check_MVE.cpp
+5-0libc/cmake/modules/cpu_features/check_MVE_FP.cpp
+3-0libc/cmake/modules/LLVMLibCCheckCpuFeatures.cmake
+23-04 files

LLVM/project 4790539llvm/lib/Target/SystemZ SystemZCallingConv.td, llvm/test/CodeGen/SystemZ zos-xplink64-bare-i32-arg.ll

[SystemZ] XPLINK64: keep CCAssignToRegAndStack rule for bare i32 args (#220354)

Bare i32 arguments (no signext/zeroext, e.g. sitofp sources or
struct-coerced i32s) must be assigned to R1L/R2L/R3L by the
CCAssignToRegAndStack rule in CC_SystemZ_XPLINK64.
Without that rule they fall through to the stack fallback,
producing wrong codegen (stack loads instead of register references).

This test demonstrates the regression caused by removing the
CCIfType<[i32], CCAssignToRegAndStack<[R1L,R2L,R3L],8,8>> rule
from CC_SystemZ_XPLINK64 and serves as justification for keeping it.

This is a pre-existing independent issue extracted from #206833 per
reviewer request.
DeltaFile
+37-0llvm/test/CodeGen/SystemZ/zos-xplink64-bare-i32-arg.ll
+3-3llvm/lib/Target/SystemZ/SystemZCallingConv.td
+40-32 files

LLVM/project 9b8d049llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/AArch64 matmul.ll splat-loads.ll

[SLP]Vectorize unique scalars of splat gather nodes as separate subtrees

A splat gather (the same instruction in every lane) is emitted as an
expensive insertion sequence. When the unique scalars of several splat
gathers form a vectorizable bundle, build them as a separate subtree and
emit the splat gathers as broadcasts of the vectorized value.

Original Pull Request: https://github.com/llvm/llvm-project/pull/218250

Recommit after revert in b80664df122426d703fd8eb0ad7e8e9c2c19bbf3 and 847eee6a93f2a57ec716a5b78ec527b9f95a64a4 with
fixed compiler crashes

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/220622
DeltaFile
+229-43llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+62-161llvm/test/Transforms/SLPVectorizer/X86/splat-gather-operands.ll
+58-0llvm/test/Transforms/SLPVectorizer/AArch64/splat-gather-subtree-cost.ll
+51-0llvm/test/Transforms/SLPVectorizer/ARM/splat-gather-extractvalue-mixed-types.ll
+8-24llvm/test/Transforms/SLPVectorizer/AArch64/splat-loads.ll
+9-17llvm/test/Transforms/SLPVectorizer/AArch64/matmul.ll
+417-2457 files not shown
+447-29513 files

LLVM/project 308892flibcxx/include version, libcxx/include/__ranges view_interface.h

[libc++][ranges] Implement P3052R2: `view_interface::at()` (#205012)

Closes #204395

Implements https://wg21.link/P3052R2

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: A. Jiang <de34 at live.cn>
DeltaFile
+49-0libcxx/test/std/ranges/range.utility/view.interface/view.interface.pass.cpp
+24-0libcxx/include/__ranges/view_interface.h
+5-11libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+5-11libcxx/test/std/language.support/support.limits/support.limits.general/ranges.version.compile.pass.cpp
+9-0libcxx/test/libcxx/ranges/range.utility/view.interface/nodiscard.verify.cpp
+1-1libcxx/include/version
+93-238 files not shown
+100-2614 files

LLVM/project b5401fbclang/docs ReleaseNotes.md, clang/lib/Sema TreeTransform.h

Remove overly strict assertion for this-capture in blocks (#219080)

TransformBlockExpr asserted that if the instantiated block captures
'this', the uninstantiated pattern block must also have captured it.
This assumption doesn't always hold: a block that accesses a member
through a dependent qualified-id (e.g., 'T::m' inside a template
deriving from T) has no way to know at parse time that the access will
resolve to an implicit 'this->m', since T is unknown. Once the template
is instantiated and 'T::m' resolves to a non-static data member, the
instantiated block legitimately captures 'this' even though the pattern
never did.

rdar://184776458
DeltaFile
+11-0clang/test/CodeGenObjCXX/block-in-template-inst.mm
+0-6clang/lib/Sema/TreeTransform.h
+2-0clang/docs/ReleaseNotes.md
+13-63 files

LLVM/project a422732lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel DynamicLoaderFreeBSDKernel.cpp, lldb/source/Plugins/Language/ObjC NSDictionary.cpp

[lldb] Return llvm::Expected from Process::ReadPointerFromMemory (#216389)

The function reported failure twice, through a Status out-parameter and
by returning LLDB_INVALID_ADDRESS. Returning
llvm::Expected<lldb::addr_t> collapses those into a single channel that
cannot be ignored.

Note that ReadScalarIntegerFromMemory can report a short read without
setting the Status so callers could previously get a success Status
alongside LLDB_INVALID_ADDRESS. That case now yields an error.

Call sites that already discarded the Status consume the error
explicitly to preserve their behavior. Error-path logging uses
LLDB_LOG_ERROR instead of passing takeError() to LLDB_LOG/LLDB_LOGF,
which only evaluate their arguments when the channel is enabled and
would otherwise leave the error unchecked and abort.

Assisted-by: Claude
DeltaFile
+88-44lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
+66-46lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
+47-43lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
+33-21lldb/source/Plugins/DynamicLoader/FreeBSD-Kernel/DynamicLoaderFreeBSDKernel.cpp
+36-16lldb/source/Plugins/Process/FreeBSD-Kernel-Core/ProcessFreeBSDKernelCore.cpp
+26-24lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
+296-19426 files not shown
+571-36232 files

LLVM/project cd1e530llvm/include/llvm/ADT FoldingSet.h

[ADT] Move traits after FoldingSetNodeID to inline Equals (NFC) (#220494)

This patch moves down DefaultFoldingSetTrait and
DefaultContextualFoldingSetTrait after FoldingSetNodeID, allowing
Equals to be defined inline in DefaultFoldingSetTrait and
DefaultContextualFoldingSetTrait.

Assisted-by: Antigravity
DeltaFile
+56-63llvm/include/llvm/ADT/FoldingSet.h
+56-631 files

LLVM/project 8f06f64lldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint TestWriteMemoryWithHWBreakpoint.py, lldb/test/API/functionalities/breakpoint/write_over_software_breakpoint TestWriteOverSoftwareBreakpoint.py

Revert "[lldb][test] Disable two breakpoint tests for debugserver (#2… (#220615)

…18636)"

This reverts commit 7ea6d83f49d975d64ef2548561a46619c86b3570.

The tests should now pass.
DeltaFile
+0-2lldb/test/API/functionalities/breakpoint/write_over_software_breakpoint/TestWriteOverSoftwareBreakpoint.py
+0-2lldb/test/API/functionalities/breakpoint/hardware_breakpoints/write_memory_with_hw_breakpoint/TestWriteMemoryWithHWBreakpoint.py
+0-42 files

LLVM/project eff5d2dllvm/include/llvm/ADT STLFunctionalExtras.h, llvm/unittests/ADT FunctionRefTest.cpp

[llvm][ADT] Remove function_ref equality operator (#220600)

The equality operator no longer has in-tree users.

TableGen replaced its function_ref callback wrapper with its own FnT.

Assisted-by: Codex
DeltaFile
+8-16llvm/unittests/ADT/FunctionRefTest.cpp
+0-4llvm/include/llvm/ADT/STLFunctionalExtras.h
+8-202 files

LLVM/project f8024c2llvm/include/llvm/CodeGen/GlobalISel LegalizerHelper.h CombinerHelper.h, llvm/lib/CodeGen/GlobalISel GISelValueTracking.cpp LegalizerHelper.cpp

[GlobalISel] Remove dead declarations and functions (NFC) (#220499)

CombinerHelper::tryCombine: The corresponding function definition was
removed on September 24, 2023 in commit
bc6e7f057340ab0b995cc17a170e34545a295f03.

GISelValueTracking::getKnownBits(MachineInstr &): Added on August 6,
2019
in commit c8ac029d0ae27b8fd392f216d471ba2730be7fd1 without any callers.

GISelValueTracking::computeKnownBitsForAlignment: The last use was
removed on June 3, 2020 in commit
45e1a22a92bf2c33336ccc02ea4fa3996f60252b.

LegalizerHelper::lowerU64ToF32BitOps: The last use was removed on
September 25, 2024 in commit e9cb44090ff7b3feda386ca1ee1252ab47c0617e.

Assisted-by: Antigravity
DeltaFile
+0-58llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+0-7llvm/include/llvm/CodeGen/GlobalISel/GISelValueTracking.h
+0-6llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
+0-4llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
+0-1llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
+0-765 files

LLVM/project 964098ellvm/lib/Transforms/Vectorize VectorCombine.cpp, llvm/test/Transforms/VectorCombine/AArch64 load-bitcast-scalarization.ll

[VectorCombine] Avoid calling getTypeSizeInBits on scalable vectors in scalarizeLoadBitcast (#220482)

Avoids `LLVM ERROR: Cannot implicitly convert a scalable size to a
fixed-width size in TypeSize::operator ScalarTy()`
DeltaFile
+13-0llvm/test/Transforms/VectorCombine/AArch64/load-bitcast-scalarization.ll
+3-0llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+16-02 files

LLVM/project 7e0e56dllvm/lib/Target/AArch64 AArch64InstrInfo.td, llvm/test/CodeGen/AArch64 smul_fix_sat.ll saturating-vec-smull.ll

[AArch64][GlobalISel] Add tablegen patterns for smull+sqshrn -> sqdmulh. (#217318)

We do this in parts in globalisel, recognizing the smull and trunc_sat,
which when combined with the correct shift can fold into a single
sqdmulh.
DeltaFile
+18-52llvm/test/CodeGen/AArch64/saturating-vec-smull.ll
+16-46llvm/test/CodeGen/AArch64/smul_fix_sat.ll
+21-0llvm/lib/Target/AArch64/AArch64InstrInfo.td
+55-983 files

LLVM/project 3b5d3d2llvm/lib/CodeGen MachineFunction.cpp

[MachineFunction] Print type when printing constant pool value. (#220485)

Previously we printed something like `cp#2: splat (i8 -8), align=64`
which doesn't give any indication of total size.

This would have made debugging
https://github.com/llvm/llvm-project/pull/220448 easier.
DeltaFile
+1-1llvm/lib/CodeGen/MachineFunction.cpp
+1-11 files

LLVM/project d65c9dalibc/test/shared shared_math_test.cpp shared_math_constexpr_test.cpp

nit + bf16 fix
DeltaFile
+11-6libc/test/shared/shared_math_constexpr_test.cpp
+10-4libc/test/shared/shared_math_test.cpp
+21-102 files

LLVM/project 30a8035libc/shared/math remainderf128.h, libc/src/__support/math remainderf128.h

remainderf128
DeltaFile
+4-7libc/src/__support/math/remainderf128.h
+0-6libc/shared/math/remainderf128.h
+3-3libc/test/shared/shared_math_constexpr_test.cpp
+5-1libc/src/math/generic/remainderf128.cpp
+5-0libc/src/math/remainderf128.h
+2-2libc/test/shared/shared_math_test.cpp
+19-1916 files not shown
+37-2922 files

LLVM/project 5877326libc/shared/math fmodf128.h, libc/src/__support/math fmodf128.h

fmodf128
DeltaFile
+5-8libc/src/__support/math/fmodf128.h
+0-6libc/shared/math/fmodf128.h
+5-1libc/src/math/generic/fmodf128.cpp
+5-0libc/test/src/math/smoke/fmodf128_test.cpp
+5-0libc/src/math/fmodf128.h
+2-2libc/test/shared/shared_math_constexpr_test.cpp
+22-1719 files not shown
+45-2825 files

LLVM/project 0ce3d4alibc/test/shared shared_math_test.cpp

nit
DeltaFile
+0-3libc/test/shared/shared_math_test.cpp
+0-31 files

LLVM/project 57ab737libc/test/src/math NextAfterTest.h

cast
DeltaFile
+18-18libc/test/src/math/NextAfterTest.h
+18-181 files

LLVM/project ac7c57elibc/shared/math nextdownf128.h, libc/src/__support/math nextdownf128.h

nextdownf128
DeltaFile
+8-5libc/test/shared/shared_math_test.cpp
+4-7libc/src/__support/math/nextdownf128.h
+0-6libc/shared/math/nextdownf128.h
+3-3libc/test/shared/shared_math_constexpr_test.cpp
+5-1libc/src/math/generic/nextdownf128.cpp
+5-0libc/src/math/nextdownf128.h
+25-2219 files not shown
+52-3225 files

LLVM/project 88caceelibc/shared/math nextupf128.h, libc/src/__support/math nextupf128.h

nextupf128
DeltaFile
+4-7libc/src/__support/math/nextupf128.h
+0-6libc/shared/math/nextupf128.h
+3-2libc/test/shared/shared_math_test.cpp
+4-1libc/src/math/generic/nextupf128.cpp
+5-0libc/test/src/math/smoke/nextupf128_test.cpp
+5-0libc/src/math/nextupf128.h
+21-1620 files not shown
+48-2826 files

LLVM/project e8de1a9libc/shared/math nextafterf128.h, libc/src/__support/math nextafterf128.h

nextafterf128
DeltaFile
+4-7libc/src/__support/math/nextafterf128.h
+0-6libc/shared/math/nextafterf128.h
+4-1libc/src/math/generic/nextafterf128.cpp
+5-0libc/test/src/math/smoke/nextafterf128_test.cpp
+5-0libc/test/src/math/nextafterf128_test.cpp
+5-0libc/src/math/nextafterf128.h
+23-1421 files not shown
+48-2927 files

LLVM/project bc84ee8libc/shared/math fdimf128.h, libc/src/__support/math fdimf128.h

fdimf128
DeltaFile
+4-7libc/src/__support/math/fdimf128.h
+0-6libc/shared/math/fdimf128.h
+5-1libc/src/math/generic/fdimf128.cpp
+5-0libc/test/src/math/smoke/fdimf128_test.cpp
+5-0libc/src/math/fdimf128.h
+2-2libc/test/shared/shared_math_constexpr_test.cpp
+21-1619 files not shown
+45-2825 files

LLVM/project 3f7ff6blibc/shared/math fminimum_mag_numf128.h, libc/src/__support/math fminimum_mag_numf128.h

fminimum_mag_numf128
DeltaFile
+4-7libc/src/__support/math/fminimum_mag_numf128.h
+0-6libc/shared/math/fminimum_mag_numf128.h
+3-3libc/test/shared/shared_math_constexpr_test.cpp
+5-1libc/src/math/generic/fminimum_mag_numf128.cpp
+5-0libc/test/src/math/smoke/fminimum_mag_numf128_test.cpp
+5-0libc/src/math/fminimum_mag_numf128.h
+22-1721 files not shown
+48-3127 files

LLVM/project a0f5c7elibc/shared/math fmaximum_mag_numf128.h, libc/src/__support/math fmaximum_mag_numf128.h

fmaximum+mag_numf128
DeltaFile
+6-6libc/test/shared/shared_math_constexpr_test.cpp
+4-7libc/src/__support/math/fmaximum_mag_numf128.h
+4-4libc/test/shared/shared_math_test.cpp
+0-6libc/shared/math/fmaximum_mag_numf128.h
+5-1libc/src/math/generic/fmaximum_mag_numf128.cpp
+5-0libc/src/math/fmaximum_mag_numf128.h
+24-2419 files not shown
+51-3425 files

LLVM/project 753f282libc/test/shared shared_math_test.cpp shared_math_constexpr_test.cpp

nit
DeltaFile
+6-6libc/test/shared/shared_math_constexpr_test.cpp
+2-2libc/test/shared/shared_math_test.cpp
+8-82 files

LLVM/project 018b1edlibc/test/shared shared_math_constexpr_test.cpp

nit
DeltaFile
+1-1libc/test/shared/shared_math_constexpr_test.cpp
+1-11 files

LLVM/project df2b608libc/shared/math fminimum_magf128.h, libc/src/__support/math fminimum_magf128.h

fminimum_magf128
DeltaFile
+4-7libc/src/__support/math/fminimum_magf128.h
+5-5libc/test/shared/shared_math_constexpr_test.cpp
+4-4libc/test/shared/shared_math_test.cpp
+0-6libc/shared/math/fminimum_magf128.h
+5-1libc/src/math/generic/fminimum_magf128.cpp
+5-0libc/src/math/fminimum_magf128.h
+23-2320 files not shown
+51-3426 files

LLVM/project 7e13744libc/test/shared shared_math_test.cpp

nit
DeltaFile
+2-2libc/test/shared/shared_math_test.cpp
+2-21 files

LLVM/project be3f8fblibc/shared/math fmaximum_magf128.h, libc/src/__support/math fmaximum_magf128.h

fmaximum_magf128
DeltaFile
+4-7libc/src/__support/math/fmaximum_magf128.h
+0-6libc/shared/math/fmaximum_magf128.h
+3-3libc/test/shared/shared_math_constexpr_test.cpp
+5-1libc/src/math/generic/fmaximum_magf128.cpp
+5-0libc/test/src/math/smoke/fmaximum_magf128_test.cpp
+5-0libc/src/math/fmaximum_magf128.h
+22-1720 files not shown
+47-3026 files