LLVM/project bc0e3f6llvm/utils/lit/lit/llvm decorate.py, llvm/utils/lit/tests narrow-and-decorate.py decorate.py

[lit] Add lit.llvm.decorate: --param decorate=PROG prepends PROG to a pipeline stage
DeltaFile
+41-0llvm/utils/lit/tests/narrow-and-decorate.py
+30-0llvm/utils/lit/lit/llvm/decorate.py
+30-0llvm/utils/lit/tests/decorate.py
+21-0llvm/utils/lit/tests/Inputs/narrow-and-decorate/sample.ll
+16-0llvm/utils/lit/tests/Inputs/narrow-and-decorate/lit.cfg
+10-0llvm/utils/lit/tests/Inputs/decorate/lit.cfg
+148-02 files not shown
+156-08 files

LLVM/project 891bc3fllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU llvm.amdgcn.cvt.scalef32.pk.gfx950.ll llvm.amdgcn.cvt.scale.pk.ll

AMDGPU/GlobalISel: RegBankLegalize rules for cvt_scale intrinsics
DeltaFile
+470-89llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.gfx950.ll
+425-3llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scale.pk.ll
+214-0llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+161-9llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk.ll
+163-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.pk8.ll
+163-1llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.scalef32.sr.pk.gfx1250.ll
+1,596-1034 files not shown
+1,928-10610 files

LLVM/project c2df149llvm/include/llvm/ADT StringMap.h, llvm/include/llvm/ExecutionEngine/Orc SymbolStringPool.h

[StringMap] Add remove_if and use it for erase-while-iterating (#202272)

Add a `remove_if` member to StringMap (and to HashKeyMap, the base of
SampleProfileMap) as a replacement for the erase-while-iterating idiom,
and convert the two in-tree users: SymbolStringPool::clearDeadEntries
and llvm-profdata's filterFunctions (a template over StringMap and
SampleProfileMap).

Extracted from #202237 - making StringMap's mutation invalidates
iterators
so that we can remove the tombstone state.

Aided by Claude Opus 4.8
DeltaFile
+20-0llvm/include/llvm/ADT/StringMap.h
+20-0llvm/unittests/ADT/StringMapTest.cpp
+8-10llvm/tools/llvm-profdata/llvm-profdata.cpp
+15-0llvm/include/llvm/ProfileData/HashKeyMap.h
+1-5llvm/include/llvm/ExecutionEngine/Orc/SymbolStringPool.h
+64-155 files

LLVM/project a63fbe8llvm/test/Transforms/LoopVectorize/ARM mve-reg-pressure-spills.ll

[LV][NFC] Fix mve-reg-pressure-spills.ll test (#202291)
DeltaFile
+8-8llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-spills.ll
+8-81 files

LLVM/project a08dce6llvm/lib/Target/AArch64 AArch64Subtarget.cpp AArch64Subtarget.h, llvm/unittests/Target/AArch64 AArch64CacheLineSizeTest.cpp CMakeLists.txt

[AArch64] Set the default cache line size to 64 bytes. (#200776)

This should be set to enable more precise interchange in the future, for
instance.
DeltaFile
+61-0llvm/unittests/Target/AArch64/AArch64CacheLineSizeTest.cpp
+0-8llvm/lib/Target/AArch64/AArch64Subtarget.cpp
+1-1llvm/lib/Target/AArch64/AArch64Subtarget.h
+1-0llvm/unittests/Target/AArch64/CMakeLists.txt
+63-94 files

LLVM/project c9e84a7llvm/lib/Target/SPIRV SPIRVCombinerHelper.cpp, llvm/test/CodeGen/SPIRV/llvm-intrinsics matrix-transpose.ll

[SPIR-V] Lower 1xN/Nx1 matrix transpose to a copy (#201332)

Remove extra `OpVectorShuffle` while lowering trivial matrix transpose that is in fact basically a reshape
DeltaFile
+6-2llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-transpose.ll
+2-1llvm/lib/Target/SPIRV/SPIRVCombinerHelper.cpp
+8-32 files

LLVM/project eae020bllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU/GlobalISel minmaxabs-i64.ll

AMDGPU/GlobalISel: RegBankLegalize rules for 64 bit s_min/max and u_min/max (#202076)
DeltaFile
+6-2llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+1-1llvm/test/CodeGen/AMDGPU/GlobalISel/minmaxabs-i64.ll
+7-32 files

LLVM/project c61fd0cllvm/lib/Target/AMDGPU AMDGPURegBankLegalizeRules.cpp, llvm/test/CodeGen/AMDGPU packed-fp32.ll

AMDGPU/GlobalISel: RegBankLegalize rules for v_pk_add/mul_f32 (#202074)
DeltaFile
+451-134llvm/test/CodeGen/AMDGPU/packed-fp32.ll
+3-1llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
+454-1352 files

LLVM/project 23c72camlir/lib/Conversion/MathToSPIRV MathToSPIRV.cpp, mlir/test/Conversion/MathToSPIRV math-to-gl-spirv.mlir math-to-opencl-spirv.mlir

[mlir][SPIR-V] Convert math.sincos to SPIR-V sin/cos ops (#201926)
DeltaFile
+30-1mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
+24-0mlir/test/Conversion/MathToSPIRV/math-to-gl-spirv.mlir
+22-0mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
+76-13 files

LLVM/project c7604c5flang/include/flang/Optimizer/HLFIR Passes.td, flang/lib/Optimizer/HLFIR/Transforms InlineHLFIRCopy.cpp InlineHLFIRCopyIn.cpp

[flang][hlfir] Extend InlineHLFIRCopy to inline copy_out with copy-back

Rename `InlineHLFIRCopyIn` to `InlineHLFIRCopy` and extend it to inline
the paired `hlfir.copy_out` operation. The copy_out is inlined at its
original location, after the call, ensuring proper ordering of copy-back
and deallocation.

Only inlines when no copy-back is required (intent(in)); intent(inout/out)
pairs are left untransformed.

Based on https://github.com/llvm/llvm-project/pull/179096.

Co-Authored-By: Kazuaki Matsumura <kmatsumura at nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+220-0flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
+0-206flang/test/HLFIR/inline-hlfir-copy-in.fir
+194-0flang/test/HLFIR/inline-hlfir-copy.fir
+0-187flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
+2-2flang/include/flang/Optimizer/HLFIR/Passes.td
+1-1flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
+417-3961 files not shown
+418-3977 files

LLVM/project 6818ad4mlir/lib/Conversion/MathToSPIRV MathToSPIRV.cpp, mlir/test/Conversion/MathToSPIRV math-to-opencl-spirv.mlir

[mlir][SPIR-V] Convert math.erfc to OpenCL erfc (#201907)
DeltaFile
+2-0mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
+1-0mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
+3-02 files

LLVM/project 331569dmlir/lib/Conversion/MathToSPIRV MathToSPIRV.cpp, mlir/test/Conversion/MathToSPIRV math-to-opencl-spirv.mlir

[mlir][SPIR-V] Convert math.cbrt to OpenCL cbrt (#201915)
DeltaFile
+2-0mlir/test/Conversion/MathToSPIRV/math-to-opencl-spirv.mlir
+1-0mlir/lib/Conversion/MathToSPIRV/MathToSPIRV.cpp
+3-02 files

LLVM/project da17c1cflang/cmake/modules FlangCommon.cmake

[Flang][CMake] Add missing CMakePushCheckState for standalone build (#202285)

Needed for the functions cmake_push_check_state/cmake_pop_check_state.
The corresponding include command was missing for flang-standalone
builds.
DeltaFile
+1-0flang/cmake/modules/FlangCommon.cmake
+1-01 files

LLVM/project d78b264flang/include/flang/Optimizer/HLFIR Passes.td, flang/lib/Optimizer/HLFIR/Transforms InlineHLFIRCopy.cpp InlineHLFIRCopyIn.cpp

[flang][hlfir] Extend InlineHLFIRCopy to inline copy_out with copy-back

Rename `InlineHLFIRCopyIn` to `InlineHLFIRCopy` and extend it to inline
the paired `hlfir.copy_out` operation. The copy_out is inlined at its
original location, after the call, ensuring proper ordering of copy-back
and deallocation.

Only inlines when no copy-back is required (intent(in)); intent(inout/out)
pairs are left untransformed.

Based on https://github.com/llvm/llvm-project/pull/179096.

Co-Authored-By: Kazuaki Matsumura <kmatsumura at nvidia.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply at anthropic.com>
DeltaFile
+220-0flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopy.cpp
+0-206flang/test/HLFIR/inline-hlfir-copy-in.fir
+194-0flang/test/HLFIR/inline-hlfir-copy.fir
+0-187flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
+2-2flang/include/flang/Optimizer/HLFIR/Passes.td
+1-1flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
+417-3961 files not shown
+418-3977 files

LLVM/project a2948efllvm/tools/llvm-c-test echo.cpp

Revert C API test as well

Created using spr 1.3.8-wip
DeltaFile
+1-0llvm/tools/llvm-c-test/echo.cpp
+1-01 files

LLVM/project 0fe9c88llvm/include/llvm-c Core.h, llvm/lib/IR Core.cpp

Keep C API LLVMAddMetadataToInst

Created using spr 1.3.8-wip
DeltaFile
+10-0llvm/include/llvm-c/Core.h
+4-0llvm/lib/IR/Core.cpp
+14-02 files

LLVM/project 917117cllvm/lib/Target/SPIRV SPIRVPreLegalizer.cpp, llvm/test/CodeGen/SPIRV trunc-nonstd-bitwidth.ll

[SPIR-V] Add vector type support for non-standard integers in G_TRUNC op (#198213)
DeltaFile
+77-0llvm/test/CodeGen/SPIRV/trunc-nonstd-bitwidth.ll
+28-14llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
+105-142 files

LLVM/project 198cc48compiler-rt CMakeLists.txt, compiler-rt/cmake base-config-ix.cmake

compiler-rt: Consolidate regex checks for amdgpu targets

In the future the triple naming scheme will change, and this
will help avoid repeating the same longer regex in all of these
places.

Co-Authored-By: Claude Sonnet 4.5 <noreply at anthropic.com>
DeltaFile
+7-1compiler-rt/cmake/base-config-ix.cmake
+3-3compiler-rt/CMakeLists.txt
+2-2compiler-rt/lib/profile/CMakeLists.txt
+2-2compiler-rt/lib/builtins/CMakeLists.txt
+1-1compiler-rt/cmake/Modules/CompilerRTUtils.cmake
+1-1compiler-rt/test/builtins/CMakeLists.txt
+16-102 files not shown
+18-128 files

LLVM/project 0063f4allvm/include/llvm-c Core.h, llvm/include/llvm/IR IRBuilder.h

[spr] initial version

Created using spr 1.3.8-wip
DeltaFile
+1-53llvm/include/llvm/IR/IRBuilder.h
+18-8llvm/lib/Target/X86/X86ISelLowering.cpp
+13-4llvm/lib/Transforms/Instrumentation/BoundsChecking.cpp
+9-6llvm/lib/Transforms/Utils/SimplifyCFG.cpp
+7-5llvm/lib/CodeGen/AtomicExpandPass.cpp
+0-11llvm/include/llvm-c/Core.h
+48-872 files not shown
+48-928 files

LLVM/project 45d5d56llvm/docs ReleaseNotes.md, llvm/test/tools/llvm-ar count-case-sensitivity.test count-case-sensitivity-windows.test

[llvm-ar] fix inconsistent case sensitivity for path matching on Windows (#196541)

When deleting or extracting with -N, member counting uses case sensitive
member arguments while path matching uses normalized paths.

This causes an issue (on Windows): if you have files: foo.txt and
FOO.txt, you can only extract one of them when using -N 1, and using -N
2 results in error.
DeltaFile
+56-0llvm/test/tools/llvm-ar/count-case-sensitivity.test
+50-0llvm/test/tools/llvm-ar/count-case-sensitivity-windows.test
+15-7llvm/tools/llvm-ar/llvm-ar.cpp
+2-0llvm/docs/ReleaseNotes.md
+123-74 files

LLVM/project bb088f7libcxx/include condition_variable thread, libcxx/include/__stop_token stop_state.h atomic_unique_lock.h

[libc++] Remove <atomic> includes from <stop_token> (#201710)
DeltaFile
+4-1libcxx/include/condition_variable
+5-0libcxx/include/thread
+4-0libcxx/include/stop_token
+2-1libcxx/include/__stop_token/stop_state.h
+2-1libcxx/include/__stop_token/atomic_unique_lock.h
+0-3libcxx/test/libcxx/transitive_includes/cxx26.csv
+17-61 files not shown
+17-77 files

LLVM/project 0db5d27llvm/lib/Transforms/Vectorize VPlanTransforms.cpp, llvm/test/Transforms/LoopVectorize/RISCV strided-accesses-narrow-iv.ll masked_gather_scatter.ll

[LV] Use index type for base pointer computation in convertToStridedAccesses (#201070)

The base pointer for strided accesses was computed as:
 ```
   offset = canonicalIV * stride
   base_ptr = ptradd start, offset
 ```
On a 64-bit target, if the canonical IV type is i32, the GEP operation
for ptradd will first sign-extend the offset to i64. Once the offset
multiplication has already overflowed in i32, it will ultimately result
in an incorrect base address.

This patch fixes this by extending the canonical IV to the index type
before the offset multiplication.

Based on #199647
Fixes #199640
DeltaFile
+63-8llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses-narrow-iv.ll
+7-6llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
+6-4llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
+6-4llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
+4-3llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
+3-2llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
+89-271 files not shown
+92-297 files

LLVM/project 292f940compiler-rt CMakeLists.txt, compiler-rt/cmake/Modules CompilerRTUtils.cmake

Match against apple vendor and use -nogpulib in -g test
DeltaFile
+10-13compiler-rt/CMakeLists.txt
+1-0compiler-rt/cmake/Modules/CompilerRTUtils.cmake
+11-132 files

LLVM/project 7893defllvm/include/llvm/Analysis Loads.h, llvm/lib/Analysis Loads.cpp ValueTracking.cpp

[Loads] Always pass down context in isSafeToLoadUnconditionally() (#201833)

There is context-sensitive reasoning we can perform without a dominator
tree -- it doesn't make sense to drop the context instruction just
because there is no DT.

Also handle the case where the start instruction and the context
instruction are the same in willNotFreeBetween(). In that case we want
the function return true, not false.
DeltaFile
+43-84llvm/test/Transforms/InstCombine/loadstore-metadata.ll
+2-15llvm/lib/Analysis/Loads.cpp
+2-2llvm/include/llvm/Analysis/Loads.h
+1-1llvm/lib/Analysis/ValueTracking.cpp
+48-1024 files

LLVM/project 126e1faflang/lib/Lower/OpenMP OpenMP.cpp, flang/lib/Semantics resolve-directives.cpp

code-foramt fix
DeltaFile
+3-5flang/lib/Lower/OpenMP/OpenMP.cpp
+3-3flang/lib/Semantics/resolve-directives.cpp
+6-82 files

LLVM/project 2de2edbllvm/include/llvm/CodeGen/GlobalISel LegalizerHelper.h Utils.h, llvm/lib/CodeGen/GlobalISel LegalizerHelper.cpp Utils.cpp

Revert "[GlobalISel] Add a shared matcher for memcpy-family instructions (NFC)" (#202275)

broke sanitizer-aarch64-linux-bootstrap-ubsan:
https://lab.llvm.org/buildbot/#/builders/85/builds/22356

reverting while I fix

Reverts llvm/llvm-project#201766
DeltaFile
+183-34llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+0-177llvm/lib/CodeGen/GlobalISel/Utils.cpp
+4-13llvm/include/llvm/CodeGen/GlobalISel/LegalizerHelper.h
+0-15llvm/include/llvm/CodeGen/GlobalISel/Utils.h
+187-2394 files

LLVM/project bce5810flang/include/flang/Semantics semantics.h symbol.h, flang/lib/Lower/OpenMP OpenMP.cpp

[flang][OpenMP] Store groupprivate device_type on symbol details
DeltaFile
+26-46flang/lib/Semantics/mod-file.cpp
+21-26flang/lib/Semantics/resolve-directives.cpp
+19-17flang/lib/Lower/OpenMP/OpenMP.cpp
+0-20flang/include/flang/Semantics/semantics.h
+0-14flang/lib/Semantics/semantics.cpp
+11-0flang/include/flang/Semantics/symbol.h
+77-1236 files

LLVM/project 2b40c30clang/lib/AST/ByteCode Interp.h, clang/test/AST/ByteCode new-delete.cpp

[clang][bytecode] Diagnose negative AllocCN element counts (#202108)

Just like we do in AllocN.
DeltaFile
+9-3clang/test/AST/ByteCode/new-delete.cpp
+9-1clang/lib/AST/ByteCode/Interp.h
+18-42 files

LLVM/project d1cbedecompiler-rt/lib/sanitizer_common sanitizer_dense_map.h sanitizer_dense_map_info.h, compiler-rt/lib/sanitizer_common/tests sanitizer_dense_map_test.cpp

[sanitizer_common] DenseMap: replace tombstone deletion with TAOCP 6.4 Algorithm R (#202231)

sanitizer_dense_map.h is a fork of llvm/ADT/DenseMap.h, which uses
quadratic probing with lazy deletion: an erased entry becomes a
tombstone, a third bucket state alongside empty and live that every
find/insert must inspect.

Port the upstream #200595 and getTombstoneKey() removal.

Aided by Claude Opus 4.8
DeltaFile
+57-95compiler-rt/lib/sanitizer_common/sanitizer_dense_map.h
+41-2compiler-rt/lib/sanitizer_common/tests/sanitizer_dense_map_test.cpp
+0-25compiler-rt/lib/sanitizer_common/sanitizer_dense_map_info.h
+1-3compiler-rt/lib/sanitizer_common/sanitizer_lzw.h
+99-1254 files

LLVM/project 7c86e6dclang/include/clang/Basic riscv_sifive_vector.td, clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded sf_vtmv_v_t.c sf_vtmv_t_v.c

[RISCV] Support sf_vtmv OFP8 intrinsics (#201598)

This patch supports OFP8 type vtmv_v_t and vtmv_t_v intrinsics which
were missing back then since there's no OFP8 vector types.
DeltaFile
+21-1clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_v_t.c
+21-1clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/non-overloaded/sf_vtmv_t_v.c
+21-1clang/test/CodeGen/RISCV/rvv-intrinsics-sifive/non-policy/overloaded/sf_vtmv_t_v.c
+4-2clang/include/clang/Basic/riscv_sifive_vector.td
+67-54 files