LLVM/project 0fa1ae1llvm/test/CodeGen/AMDGPU llvm.exp10.f64.ll llvm.exp.f64.ll, llvm/test/CodeGen/AMDGPU/GlobalISel sdiv.i64.ll srem.i64.ll

AMDGPU/GlobalISel: Switch RegBankLegalize lowering to extended LLTs (#208270)

Stop using LLT::scalar for lowering in AMDGPURegBankLegalizeHelper
Affects integer lowering code for RegBankLLTMappingApplyID and
custom cpp for LoweringMethodID.
DeltaFile
+2,694-1,347llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
+2,478-1,239llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
+2,422-1,211llvm/test/CodeGen/AMDGPU/llvm.exp2.f64.ll
+2,186-1,321llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
+2,168-1,313llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
+1,874-1,554llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
+13,822-7,985207 files not shown
+39,447-24,886213 files

LLVM/project bd97ce0llvm/test/CodeGen/X86 vector-compress.ll

[X86] vector-compress.ll - test with x86-64 levels not raw AVX levels (#208745)

Prep work for VECREDUCE_ADD lowering support (VECTOR_COMPRESS expansion
creates VECREDUCE_ADD nodes)

Test with/without vbmi2 to show the terrible v32i8/v64i8 compress
codegen on x86-64-v4 targets
DeltaFile
+2,066-891llvm/test/CodeGen/X86/vector-compress.ll
+2,066-8911 files

LLVM/project b4cf9c7mlir/lib/Dialect/Vector/Transforms VectorUnroll.cpp, mlir/test/Dialect/Vector vector-unroll-options.mlir

[MLIR][Vector] Relax shape_cast unrolling to per-reassociation-group contiguity (#205684)

UnrollShapeCastPattern previously only unrolled a vector.shape_cast when
the target unroll tile was contiguous in the whole result vector
(isContiguous(targetShape, resultShape)). This rejected valid cases such
as:
```mlir
  %0 = vector.shape_cast %src : vector<8x32xf8> to vector<8x1x32xf8>  // target tile [8, 1, 4]
  %1 = vector.shape_cast %src : vector<8x32x32xf8> to vector<256x32xf8>  // target tile [16, 4]
```
This PR factors the source and result shapes of a shape_cast into
independent reassociation groups — maximal aligned source/result dim
ranges that hold equal element counts:
```
  - 8x32 → 8x1x32 ⇒ groups {8 ↔ 8x1}, {32 ↔ 32}
  - 8x32x32 → 256x32 ⇒ groups {8x32 ↔ 256}, {32 ↔ 32}
```
Instead of requiring the target tile to be contiguous in the whole
result vector, it only checks that the tile is contiguous within each

    [12 lines not shown]
DeltaFile
+102-18mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
+70-0mlir/test/Dialect/Vector/vector-unroll-options.mlir
+15-0mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
+187-183 files

LLVM/project d58b056compiler-rt/test/profile/Linux instrprof-debug-info-correlate-warnings.ll, llvm/lib/Bitcode/Reader MetadataLoader.cpp

[DebugMetadata][DwarfDebug][CodeView] Support function-local static variables in lexical block scopes (6/7) (#187927)

RFC
https://discourse.llvm.org/t/rfc-dwarfdebug-fix-and-improve-handling-imported-entities-types-and-static-local-in-subprogram-and-lexical-block-scopes/68544

Similar to imported declarations and types, the patch tracks
function-local static variables (globals in terms of LLVM IR) in
DISubprogram's 'retainedNodes'. DwarfDebug is adjusted in accordance
with the aforementioned metadata change and provided a support of static
locals scoped by a lexical block. CodeViewDebug is modified to collect
global variables from DISubprogram's 'retainedNodes' too.

The patch assumes that DICompileUnit's 'globals' no longer tracks static
locals and DwarfDebug would assert if any locally-scoped variables get
placed there.

This change has already been reviewed in
https://reviews.llvm.org/D144008, but I’m opening a new PR because it
has been a while since it was approved. Additional logic was added to

    [6 lines not shown]
DeltaFile
+123-86compiler-rt/test/profile/Linux/instrprof-debug-info-correlate-warnings.ll
+145-0llvm/test/DebugInfo/X86/lexical-block-static-var.ll
+47-68llvm/lib/Bitcode/Reader/MetadataLoader.cpp
+108-0llvm/test/Bitcode/upgrade-cu-static-locals.ll
+53-54llvm/test/DebugInfo/X86/sdag-dbgvalue-phi-use-4.ll
+52-47llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
+528-25564 files not shown
+1,044-54270 files

LLVM/project 1938cb3llvm/lib/Target/AArch64 AArch64RegisterInfo.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

fixup! Remove duplicated code and rename
DeltaFile
+24-35llvm/lib/Target/AArch64/AArch64RegisterInfo.td
+3-17llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+1-1llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+28-533 files

LLVM/project 8758ed7llvm/test/CodeGen/AMDGPU eliminate-frame-index-flat-scratch-svs.mir

Address feedback
- Use nounwind
- Depend on amdgpu-waves-per-eu instead of amdgpu-num-vgprs
- Remove gfx942 checks
DeltaFile
+23-78llvm/test/CodeGen/AMDGPU/eliminate-frame-index-flat-scratch-svs.mir
+23-781 files

LLVM/project ef3ac7alldb/source/Plugins/Platform/Windows PlatformWindows.cpp, lldb/test/API/driver/longpath TestLongPathDriver.py

[lldb][Windows] Support modules with long paths (#206099)

`PlatformWindows::DoLoadImage` injected a 261-byte buffer for the loaded
module path. Longer paths would be truncated and fail to load. This
patch adds a growing buffer (up to the NT limit) which is used only when
`GetModuleFileNameA` reports truncation, re-querying without taking an
extra reference on the module.

This patch also adds 3 tests for lldb, lldb-driver and the SBAPI. They
are really regression tests which break if long path support regresses.

Requires:
- https://github.com/llvm/llvm-project/pull/206046
- https://github.com/llvm/llvm-project/pull/206060
DeltaFile
+109-45lldb/source/Plugins/Platform/Windows/PlatformWindows.cpp
+109-0lldb/test/API/functionalities/longpath/TestLongPath.py
+75-0lldb/test/API/driver/longpath/TestLongPathDriver.py
+60-0lldb/test/API/tools/lldb-dap/longpath/TestDAP_launch_longPath.py
+3-0lldb/test/API/tools/lldb-dap/longpath/Makefile
+3-0lldb/test/API/tools/lldb-dap/longpath/main.c
+359-454 files not shown
+371-4510 files

LLVM/project 4d5b3c0llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 sve-fixed-length-masked-64-128bit-stores.ll

[AArch64][SVE] Support lowering masked stores of <4 x bf16> and <8 x bf16>

Add support for lowering masked stores of <4 x bf16> and <8 x bf16> when
target features contain "+sve".

Fixes: #201149
DeltaFile
+35-0llvm/test/CodeGen/AArch64/sve-fixed-length-masked-64-128bit-stores.ll
+4-3llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+39-32 files

LLVM/project 38a6155lld/ELF Writer.cpp, lld/test/ELF aarch64-reloc-pauth.s

Apply suggestions from code review

Co-authored-by: Jessica Clarke <jrtc27 at jrtc27.com>
DeltaFile
+1-1lld/test/ELF/aarch64-reloc-pauth.s
+1-1lld/ELF/Writer.cpp
+2-22 files

LLVM/project 8834939llvm/test/CodeGen/M68k setcc-redundant.ll, llvm/test/CodeGen/M68k/Control cmp.ll

[M68k] Update tests (#208748)

After f2dfbf06f7db1a3cace4beb9f65d5a7f6a8b6235.
DeltaFile
+6-4llvm/test/CodeGen/M68k/setcc-redundant.ll
+3-3llvm/test/CodeGen/M68k/Control/cmp.ll
+9-72 files

LLVM/project 32a6072llvm/test/CodeGen/AMDGPU llvm.amdgcn.permlane.ll llvm.is.fpclass.f16.ll, llvm/test/CodeGen/AMDGPU/GlobalISel fshl.ll fshr.ll

AMDGPU/GlobalISel: Handle G_BITCAST for 16 bit extendedLLTs

Handle bitcast between i16 and f16/bf16.
For true16 this was already legal, make it legal in regbanklegalize as well.
For non-true16 custom lower it to G_ANYEXT to i32 and G_TRUNC to dst.
The "i32 G_ANYEXT f16/bf16" and "f16/bf16 G_TRUNC i32" are already legal,
for example these are generated by common CallLowering argument lowering.
DeltaFile
+3,572-3,745llvm/test/CodeGen/AMDGPU/llvm.amdgcn.permlane.ll
+3,314-3,041llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+3,245-2,737llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+1,670-1,373llvm/test/CodeGen/AMDGPU/GlobalISel/frem.ll
+1,239-552llvm/test/CodeGen/AMDGPU/llvm.is.fpclass.f16.ll
+656-996llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-llvm.amdgcn.image.sample.a16.ll
+13,696-12,444182 files not shown
+24,965-20,598188 files

LLVM/project 2ece9e4llvm/test/CodeGen/AMDGPU llvm.exp10.f64.ll llvm.exp.f64.ll, llvm/test/CodeGen/AMDGPU/GlobalISel sdiv.i64.ll srem.i64.ll

AMDGPU/GlobalISel: Switch RegBankLegalize lowering to extended LLTs

Stop using LLT::scalar for lowering in AMDGPURegBankLegalizeHelper
Affects integer lowering code for RegBankLLTMappingApplyID and
custom cpp for LoweringMethodID.
DeltaFile
+2,694-1,347llvm/test/CodeGen/AMDGPU/llvm.exp10.f64.ll
+2,478-1,239llvm/test/CodeGen/AMDGPU/llvm.exp.f64.ll
+2,422-1,211llvm/test/CodeGen/AMDGPU/llvm.exp2.f64.ll
+2,186-1,321llvm/test/CodeGen/AMDGPU/GlobalISel/sdiv.i64.ll
+2,168-1,313llvm/test/CodeGen/AMDGPU/GlobalISel/srem.i64.ll
+1,874-1,554llvm/test/CodeGen/AMDGPU/GlobalISel/mul.ll
+13,822-7,985207 files not shown
+39,447-24,886213 files

LLVM/project 618ac10llvm/lib/Target/AMDGPU AMDGPULegalizerInfo.cpp

AMDGPU/GlobalISel: Fix buildbot failure for unused variable (used in assert) (#208743)
DeltaFile
+1-2llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
+1-21 files

LLVM/project 4c6646fllvm/test/CodeGen/AMDGPU fract-match.ll annotate-kernel-features-hsa-call.ll

AMDGPU: Manually convert some tests to use subarches (#208638)
DeltaFile
+168-350llvm/test/CodeGen/AMDGPU/fract-match.ll
+69-143llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call.ll
+57-83llvm/test/CodeGen/AMDGPU/private-memory-atomics.ll
+134-0llvm/test/CodeGen/AMDGPU/annotate-kernel-features-hsa-call-addrspacecast.ll
+57-57llvm/test/CodeGen/AMDGPU/hsa-note-no-func.ll
+29-40llvm/test/CodeGen/AMDGPU/default-fp-mode.ll
+514-67326 files not shown
+767-97032 files

LLVM/project 7138e1fllvm/lib/Target/SPIRV SPIRVISelLowering.h, llvm/test/CodeGen/SPIRV switch-odd-width-condition.ll

[SPIR-V] Fix crash on switch with odd-width condition type (#208026)

getPreferredSwitchConditionType called getSimpleVT unconditionally,
which asserts on extended EVTs like i31

Return i1 for non-simple types to keep CodeGenPrepare from widening the
condition
DeltaFile
+54-0llvm/test/CodeGen/SPIRV/switch-odd-width-condition.ll
+32-0llvm/test/CodeGen/SPIRV/extensions/SPV_ALTERA_arbitrary_precision_integers/i128-switch-condition-type.ll
+1-1llvm/lib/Target/SPIRV/SPIRVISelLowering.h
+87-13 files

LLVM/project cc4dcffllvm/test/Transforms/OpenMP spmdization_guarding.ll spmdization_guarding_two_reaching_kernels.ll

fix nvptx tests
DeltaFile
+1-1llvm/test/Transforms/OpenMP/spmdization_guarding.ll
+1-1llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll
+1-1llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll
+3-33 files

LLVM/project 50706d3llvm/lib/Transforms/IPO OpenMPOpt.cpp, llvm/test/Transforms/OpenMP spmd_parallel_wrapper_removal.ll spmdization.ll

[OpenMPOpt] Null generic-mode wrappers for SPMDized kernels

If a kernel gets SPMDized, it doesn't need the wrapper function that is
passed to __kmpc_parallel_60. Keeping the dead wrapper function can lead
to lots of misleading "local memory global used by non-kernel function"
AMDGPU backend warnings.
Let OpenMPOpt null the wrapper argument such that DCE can then remove
the corresponding dead functions.

Claude assisted with this patch.
DeltaFile
+80-0llvm/test/Transforms/OpenMP/spmd_parallel_wrapper_removal.ll
+63-0llvm/lib/Transforms/IPO/OpenMPOpt.cpp
+8-8llvm/test/Transforms/OpenMP/spmdization.ll
+1-1llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll
+1-1llvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll
+1-1llvm/test/Transforms/OpenMP/spmdization_assumes.ll
+154-116 files

LLVM/project 9d1c207llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 neg-sign-masked-and.ll

[AArch64] Reassociate neg (and X, M) with an all-0/1's mask M (#207671)
DeltaFile
+117-0llvm/test/CodeGen/AArch64/neg-sign-masked-and.ll
+37-0llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+154-02 files

LLVM/project 6211a71llvm/test/CodeGen/X86 buildvec-strided-loads.ll avx512-calling-conv.ll

[X86] EltsFromConsecutiveLoads - handle trunc(wideload()) patterns (#199371)

The existing path emits N x vpinsrb for buildvecs whose elements are
loads at a regular byte stride larger than the element size:

```asm
movzbl  216(%rsp), %eax
vmovd   %eax, %xmm0
vpinsrb $1, 224(%rsp), %xmm0, %xmm0
vpinsrb $2, 232(%rsp), %xmm0, %xmm0
...
vpinsrb $15, 336(%rsp), %xmm0, %xmm0
```

This patch adds a strided-load path to EltsFromConsecutiveLoads that
folds these into wide load(s) + vector truncation:

```asm
vmovdqu64   216(%rsp), %zmm0

    [29 lines not shown]
DeltaFile
+1,128-0llvm/test/CodeGen/X86/buildvec-strided-loads.ll
+247-678llvm/test/CodeGen/X86/avx512-calling-conv.ll
+88-198llvm/test/CodeGen/X86/avx512-insert-extract.ll
+73-194llvm/test/CodeGen/X86/avx512-masked_memop-16-8.ll
+99-157llvm/test/CodeGen/X86/masked_gather_scatter_widen.ll
+46-197llvm/test/CodeGen/X86/build-vector-512.ll
+1,681-1,4248 files not shown
+1,961-1,95114 files

LLVM/project b12c64emlir/lib/Dialect/Vector/Transforms VectorEmulateNarrowType.cpp, mlir/test/Dialect/Vector emulate-narrow-type-unsupported.mlir

[mlir][vector] Fix crash on untraceable masks in getCompressedMaskOp (#207299)

The loop tracing a mask back to its creation op assumed the chain always
ends at a create_mask/constant_mask/arith.constant, a block-argument
mask made it fall through to isa<> on a null op (segfault), and any
other unhandled defining op spun it forever.

Fixes #206928

Claude Fable 5 did assist with this.
DeltaFile
+40-12mlir/test/Dialect/Vector/emulate-narrow-type-unsupported.mlir
+14-8mlir/lib/Dialect/Vector/Transforms/VectorEmulateNarrowType.cpp
+54-202 files

LLVM/project fb584f6lld/ELF Writer.cpp

Fix formatting
DeltaFile
+1-1lld/ELF/Writer.cpp
+1-11 files

LLVM/project 2b58f6blld/ELF Writer.cpp

Address review comments
DeltaFile
+21-12lld/ELF/Writer.cpp
+21-121 files

LLVM/project 72b8db7mlir/include/mlir/Dialect/Vector/IR VectorOps.td, mlir/lib/Dialect/Vector/IR VectorOps.cpp

[mlir][vector] add consistent stride verification to masked load/store and gather/scatter ops (#205869)

Extend negative stride checks to MaskedLoadOp, MaskedStoreOp, GatherOp,
and ScatterOp to match LoadOp and StoreOp behavior.

Depends on: https://github.com/llvm/llvm-project/pull/204611.

AI Disclaimer: I used AI for the tests.

@banach-space @dcaballe If you look at the latest commit, you can see
why the integration tests were failing in #204842. Those two calls were
added in this PR, I sincerely apologize to you!

---------

Signed-off-by: Federico Bruzzone <federico.bruzzone.i at gmail.com>
DeltaFile
+38-0mlir/test/Dialect/Vector/invalid.mlir
+32-2mlir/lib/Dialect/Vector/IR/VectorOps.cpp
+12-0mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
+82-23 files

LLVM/project ec60090llvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 sve-fixed-length-masked-64-128bit-stores.ll

[AArch64][SVE] Support lowering masked stores of <4 x bf16> and <8 x bf16>

Add support for lowering masked stores of <4 x bf16> and <8 x bf16> when
target features contain "+sve".

Fixes: #201149
DeltaFile
+35-0llvm/test/CodeGen/AArch64/sve-fixed-length-masked-64-128bit-stores.ll
+2-1llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+37-12 files

LLVM/project ff5363bclang-tools-extra/clangd/index/remote/marshalling Marshalling.cpp, clang-tools-extra/clangd/index/remote/server Server.cpp

[clangd][remote] Add clangd-index-server support for cross platform indexes (#207202)

The main use case is to serve windows index on linux server. 

Without this change server wasn't able to check if project_root path is
absolute and was closed with error: "Index root should be an absolute
path."

This change is meant to solve issue:
https://github.com/clangd/clangd/issues/2646
DeltaFile
+38-0clang-tools-extra/clangd/unittests/remote/MarshallingTests.cpp
+8-0clang-tools-extra/clangd/test/remote-index/cross-platform-root.test
+4-2clang-tools-extra/clangd/index/remote/marshalling/Marshalling.cpp
+3-1clang-tools-extra/clangd/index/remote/server/Server.cpp
+53-34 files

LLVM/project c8b02balldb/test/API/lang/c/blocks TestBlocks.py main.c

[lldb][test] Expand blocks test (#208406)

This moves some of the tested logic from the `types/` test that is about
to be deleted to the already existing c/blocks test.

See also #208402

assisted-by: claude
DeltaFile
+47-58lldb/test/API/lang/c/blocks/TestBlocks.py
+38-26lldb/test/API/lang/c/blocks/main.c
+85-842 files

LLVM/project 2c0541blldb/test/API/lang/cpp/builtin_types/char TestCharTypes.py main.cpp

[lldb][test] Add a new test for char types (#208442)

This is a new modern test for char types that replaces the test logic
from `API/types` test that is about to be deleted.

See also #208402

assisted-by: claude
DeltaFile
+33-0lldb/test/API/lang/cpp/builtin_types/char/TestCharTypes.py
+19-0lldb/test/API/lang/cpp/builtin_types/char/main.cpp
+3-0lldb/test/API/lang/cpp/builtin_types/char/Makefile
+55-03 files

LLVM/project a465ef6lldb/test/API/lang/cpp/recursive_types/function-ptrs recursive_types.cpp TestRecursiveTypesFuncPtrs.py

[lldb][test] Add a new test for recursive types (#208449)

This is a new modern test for recursive types that self-reference
themselves via function pointers.

This replaces the test logic from `API/types` test that is about to be
deleted.

See also #208402

assisted-by: claude
DeltaFile
+32-0lldb/test/API/lang/cpp/recursive_types/function-ptrs/recursive_types.cpp
+27-0lldb/test/API/lang/cpp/recursive_types/function-ptrs/TestRecursiveTypesFuncPtrs.py
+16-0lldb/test/API/lang/cpp/recursive_types/function-ptrs/main.cpp
+3-0lldb/test/API/lang/cpp/recursive_types/function-ptrs/Makefile
+78-04 files

LLVM/project 54aa96flldb/test/API/lang/cpp/builtin_types/long_int TestLongIntTypes.py main.cpp

[lldb][test] Add a new test for long types (#208447)

This is a new modern test for long types that replaces the test logic
from `API/types` test that is about to be deleted. This is a distinct
test from the normal integer types due to long depending on data models
which change depending on platform.

See also #208402

assisted-by: claude
DeltaFile
+112-0lldb/test/API/lang/cpp/builtin_types/long_int/TestLongIntTypes.py
+29-0lldb/test/API/lang/cpp/builtin_types/long_int/main.cpp
+3-0lldb/test/API/lang/cpp/builtin_types/long_int/Makefile
+144-03 files

LLVM/project 5394e2alldb/test/API/lang/c/unions TestUnionMembers.py main.c

[lldb][test] Modernize and expand C union test (#208662)

Replace most of the test's setup code with modern test utils and expand
the test case to cover more common or potentially problematic uses of
unions.
DeltaFile
+58-33lldb/test/API/lang/c/unions/TestUnionMembers.py
+58-13lldb/test/API/lang/c/unions/main.c
+116-462 files