LLVM/project 0b65a07llvm/test/CodeGen/AMDGPU llvm.amdgcn.struct.atomic.buffer.load.ll llvm.amdgcn.struct.ptr.atomic.buffer.load.ll, llvm/test/CodeGen/AMDGPU/GlobalISel regbankselect-mui.mir

[AMDGPU] Model structured control-flow lane masks as i1
DeltaFile
+2,110-424llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.atomic.buffer.load.ll
+2,110-424llvm/test/CodeGen/AMDGPU/llvm.amdgcn.struct.ptr.atomic.buffer.load.ll
+1,692-337llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.atomic.buffer.load.ll
+1,692-337llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.ptr.atomic.buffer.load.ll
+698-294llvm/test/CodeGen/AMDGPU/flat-saddr-atomics.ll
+324-223llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-mui.mir
+8,626-2,03965 files not shown
+11,949-4,12971 files

LLVM/project d76f677llvm/test/CodeGen/AMDGPU fptrunc.f16.ll freeze.ll

AMDGPU: Migrate CodeGen tests to amdgpu subarch triple (14) (#209117)

Mechanically migrate the command-line target spelling on llc/opt RUN
lines in
llvm/test/CodeGen/AMDGPU from -mtriple=amdgcn ... -mcpu=<gfx> to the
folded
subarch triple form (e.g. -mtriple=amdgpu9.00-amd-amdhsa), dropping the
redundant -mcpu.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
DeltaFile
+16-16llvm/test/CodeGen/AMDGPU/fptrunc.f16.ll
+14-14llvm/test/CodeGen/AMDGPU/freeze.ll
+14-14llvm/test/CodeGen/AMDGPU/gfx11-user-sgpr-init16-bug.ll
+13-13llvm/test/CodeGen/AMDGPU/fptrunc.ll
+13-13llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
+12-12llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
+82-8292 files not shown
+476-47698 files

LLVM/project 5e32e43llvm/test/CodeGen/SPIRV/debug-info debug-global-variable.ll

Update flag.
DeltaFile
+2-1llvm/test/CodeGen/SPIRV/debug-info/debug-global-variable.ll
+2-11 files

LLVM/project 3a6f32ellvm/lib/Target/AArch64 AArch64ISelLowering.cpp, llvm/test/CodeGen/AArch64 sve-fixed-length-masked-64-128bit-loads.ll sve2p1-vector-shuffles.ll

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

Add support for lowering masked loads of <4 x bf16> and <8 x bf16> when
target features contain "+sve".
DeltaFile
+37-0llvm/test/CodeGen/AArch64/sve-fixed-length-masked-64-128bit-loads.ll
+3-25llvm/test/CodeGen/AArch64/sve2p1-vector-shuffles.ll
+4-2llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
+44-273 files

LLVM/project 6c009ffllvm/test/CodeGen/AMDGPU fmax3-maximumnum.ll fmin3-minimumnum.ll

AMDGPU: Migrate CodeGen tests to amdgpu subarch triple (13) (#208897)

Mechanically migrate the command-line target spelling on llc/opt RUN
lines in
llvm/test/CodeGen/AMDGPU from -mtriple=amdgcn ... -mcpu=<gfx> to the
folded
subarch triple form (e.g. -mtriple=amdgpu9.00-amd-amdhsa), dropping the
redundant -mcpu.

Co-Authored-By: Claude <noreply at anthropic.com> (Claude-Opus-4.8)
DeltaFile
+18-18llvm/test/CodeGen/AMDGPU/fmax3-maximumnum.ll
+18-18llvm/test/CodeGen/AMDGPU/fmin3-minimumnum.ll
+16-16llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
+14-14llvm/test/CodeGen/AMDGPU/fold-gep-offset.ll
+12-12llvm/test/CodeGen/AMDGPU/fp-min-max-buffer-atomics.ll
+11-11llvm/test/CodeGen/AMDGPU/fmax3.ll
+89-8994 files not shown
+374-374100 files

LLVM/project bfd7efallvm/test/CodeGen/SPIRV/debug-info debug-global-variable.ll

[review] Improve test.
DeltaFile
+2-2llvm/test/CodeGen/SPIRV/debug-info/debug-global-variable.ll
+2-21 files

LLVM/project 3966381lldb/source/Core DumpRegisterValue.cpp, lldb/test/API/functionalities/gdb_remote_client TestXMLRegisterFlags.py

[lldb] Correct alignment of register fields (#209140)

In #188049 the alignment of register names for the raw value part "pc =
0x..." changed.

This resulted in many register fields being 2 spaces off where they
should be, because the stream we were printing to had a 2 space indent
set where it had none before.

This is actually a bug in the original field formatting code. It assumed
the stream had no indent level of its own. So the fix is to indent using
the stream (the 2 spaces), then indent to where the register name ends.
DeltaFile
+18-18lldb/test/API/linux/aarch64/permission_overlay/TestAArch64LinuxPOE.py
+13-13lldb/test/API/functionalities/gdb_remote_client/TestXMLRegisterFlags.py
+3-1lldb/source/Core/DumpRegisterValue.cpp
+34-323 files

LLVM/project b4eab00llvm/test/CodeGen/SPIRV/debug-info debug-global-variable-no-type.ll

[reviews] Improve test.
DeltaFile
+6-3llvm/test/CodeGen/SPIRV/debug-info/debug-global-variable-no-type.ll
+6-31 files

LLVM/project 24fd04bclang/test/CIR/CodeGen attr-target-aarch64.c, clang/test/CodeGen/AArch64 targetattr.c

fixup! Okay, change PR so we just remover the gating from sys reg and leave FEAT_HCX in the code
DeltaFile
+1-4llvm/test/MC/AArch64/armv8.7a-hcx.s
+1-3llvm/test/MC/Disassembler/AArch64/armv8.7a-hcx.txt
+1-3llvm/lib/Target/AArch64/AArch64SystemOperands.td
+2-2llvm/lib/Target/AArch64/AArch64Features.td
+2-2clang/test/CIR/CodeGen/attr-target-aarch64.c
+1-1clang/test/CodeGen/AArch64/targetattr.c
+8-151 files not shown
+8-167 files

LLVM/project 52a905bllvm/test/CodeGen/AMDGPU divergent-loop-i1-lane-mask.ll si-annotate-loop-i1-lane-mask.ll

[AMDGPU] Add pre-commit test demonstrating current control-flow lowering (NFC)
DeltaFile
+110-0llvm/test/CodeGen/AMDGPU/divergent-loop-i1-lane-mask.ll
+43-0llvm/test/CodeGen/AMDGPU/si-annotate-loop-i1-lane-mask.ll
+153-02 files

LLVM/project 8cb0e63llvm/lib/Target/AArch64 AArch64RegisterInfo.td SMEInstrFormats.td, llvm/lib/Target/AArch64/AsmParser AArch64AsmParser.cpp

[AArch64][llvm][tablegen] Restrict luti6 assembly (4 regs, 8-bit) to 0 <= Zn <= 7 (#200751)

The `luti6` instruction (four registers, 8-bit) should only allow
assembly of `0 <= Zn <= 7`, since there's only 3 bits for `Zn`. It
actually allows > 7:
```
   luti6 { z0.b - z3.b }, zt0, { z8 - z10 }
```
which produces a duplicate encoding to the following:
```
   luti6 { z0.b - z3.b }, zt0, { z0 - z2 }
```

Update tablegen to handle the inferred register-class naming
collision caused by adding the explicit z0-z7 ZPR3 class.
DeltaFile
+36-27llvm/lib/Target/AArch64/AArch64RegisterInfo.td
+16-4llvm/utils/TableGen/Common/CodeGenRegisters.cpp
+7-8llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
+5-1llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
+5-0llvm/test/MC/AArch64/SME2p3/luti6-diagnostics.s
+1-1llvm/lib/Target/AArch64/SMEInstrFormats.td
+70-416 files

LLVM/project 13e9cc2llvm/lib/Target/RISCV RISCVInstrFormatsSpacemitV.td RISCVInstrInfoXSpacemiT.td, llvm/lib/Target/RISCV/AsmParser RISCVAsmParser.cpp

[RISCV] Support spacemit vsmtvdotii extensions (#202533)

SPEC: https://github.com/spacemit-com/docs-ai/blob/main/en/architecture/ime_extension.md
DeltaFile
+189-1llvm/lib/Target/RISCV/RISCVInstrFormatsSpacemitV.td
+189-0llvm/test/MC/RISCV/xsmtvdotii-invalid.s
+148-0llvm/test/MC/RISCV/xsmtvdotii-valid.s
+97-0llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
+62-0llvm/lib/Target/RISCV/RISCVInstrInfoXSpacemiT.td
+44-1llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
+729-214 files not shown
+782-520 files

LLVM/project 6d026eallvm/docs AMDGPUUsage.rst, llvm/lib/Target/AMDGPU AMDGPUWaitSGPRHazards.cpp

[AMDGPU] Remove option to disable SGPR hazard waits (#208720)

This was useful when initially implemented, but probably be removed now.
DeltaFile
+0-35llvm/test/CodeGen/AMDGPU/valu-read-sgpr-hazard-attrs.mir
+0-13llvm/lib/Target/AMDGPU/AMDGPUWaitSGPRHazards.cpp
+0-3llvm/docs/AMDGPUUsage.rst
+0-513 files

LLVM/project 21674daclang/test/OffloadTools/clang-linker-wrapper linker-wrapper.c, clang/tools/clang-linker-wrapper ClangLinkerWrapper.cpp

clang-linker-wrapper: Use AMDGPU::TargetID for device-image compatibility

Previously the link compatibilty was based on a raw string match of the
triple + cpu name. Start parsing the triple, and use the compatibility
function. Start using AMDGPU::TargetID from TargetParser, as a step towards
removing clang's redundant TargetID handling.

Co-authored-by: Claude (Opus 4.8)
DeltaFile
+49-35llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+57-0clang/test/OffloadTools/clang-linker-wrapper/linker-wrapper.c
+48-0llvm/unittests/TargetParser/TargetParserTest.cpp
+17-22llvm/lib/Object/OffloadBinary.cpp
+8-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+1-2clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
+180-596 files

LLVM/project 5db1f54compiler-rt/test/ubsan/TestCases/Integer suppressions-nested-calls.c, compiler-rt/test/ubsan/TestCases/Integer/Inputs wrappers.h make_signed.h

compiler-rt: ubsan: Add suppressions test for nested functions (#206962)

This is a test-only change to increase the test coverage of UBSan to
clarify that named suppressions only apply to the function itself and do
not cover (possibly inlined) called functions.

The background is that, while trying to fix
https://github.com/llvm/llvm-project/issues/132533, I discovered missing
test coverage and possibly confused myself into a wrong fix in
https://github.com/llvm/llvm-project/pull/206735#discussion_r3505816693

So I think it could make sense to add test coverage for the case that I
broke, which serves as a reference baseline ground truth.

---------

Co-authored-by: MarcoFalke <*~=`'#}+{/-|&$^_ at 721217.xyz>
DeltaFile
+50-0compiler-rt/test/ubsan/TestCases/Integer/suppressions-nested-calls.c
+17-0compiler-rt/test/ubsan/TestCases/Integer/Inputs/wrappers.h
+13-0compiler-rt/test/ubsan/TestCases/Integer/Inputs/make_signed.h
+80-03 files

LLVM/project 7067168llvm/test/CodeGen/SPIRV/debug-info debug-global-variable-default-address-space.ll

[review] improve test.
DeltaFile
+2-2llvm/test/CodeGen/SPIRV/debug-info/debug-global-variable-default-address-space.ll
+2-21 files

LLVM/project 6461bd3polly/lib/Support ScopHelper.cpp, polly/test/CodeGen issue205137.ll

[Polly] Fix infinite recursion in `ScopExpander::visitAddRecExpr` (#206063)

visitUnknown follow VMap, call GenSE.getSCEV() on the mapped value, and
get back the original AddRec, recursing visitAddRecExpr infinitely.

Insert the result into SCEVCache before calling visit() to cut
recursion.

Fixes #205137.
DeltaFile
+161-0polly/test/CodeGen/issue205137.ll
+4-0polly/lib/Support/ScopHelper.cpp
+165-02 files

LLVM/project cb71fefllvm/lib/Transforms/Vectorize VPlanUtils.cpp, llvm/test/Transforms/LoopVectorize nested-loops-scev-expansion.ll cast-induction.ll

[VPlan] Expand SCEV min/max via scalar intrinsic VPInstructions. (#207842)

Use the VPInstruction::Intrinsic opcode to expand min/max SCEV
expressions to LLVM min/max intrinsics as VPInstructions.

The operands are chained in reverse order, matching SCEVExpander's
expansion of min/max expressions.

This helps to clean up another set of duplicated vscale calls.

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

PR: https://github.com/llvm/llvm-project/pull/207842
DeltaFile
+18-36llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-bin-unary-ops-args.ll
+22-18llvm/test/Transforms/LoopVectorize/nested-loops-scev-expansion.ll
+38-0llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+20-16llvm/test/Transforms/LoopVectorize/cast-induction.ll
+11-22llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-cast-intrinsics.ll
+13-16llvm/test/Transforms/LoopVectorize/RISCV/tail-folding-interleave.ll
+122-10853 files not shown
+301-34859 files

LLVM/project a0df86dllvm/lib/Target/RISCV RISCVProcessors.td

[RISCV] Add TuneNoDefaultUnroll to spacemit-x100 (#209069)

In the spec2k6int tests, some subtests improved while others
regressed. The overall score shows a 0.7% gain. Given that
most OoO CPUs enable this feature by default, also enable
it by default for X100.
DeltaFile
+1-0llvm/lib/Target/RISCV/RISCVProcessors.td
+1-01 files

LLVM/project ae1b382llvm/lib/Target/SPIRV SPIRVNonSemanticDebugHandler.cpp SPIRVNonSemanticDebugHandler.h

[reivews] Simplify processing.
DeltaFile
+25-23llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.cpp
+10-19llvm/lib/Target/SPIRV/SPIRVNonSemanticDebugHandler.h
+35-422 files

LLVM/project da13805clang/lib/CIR/CodeGen CIRGenBuiltinAMDGPU.cpp, clang/test/CIR/CodeGenHIP builtins-amdgcn-gfx1250.hip builtins-amdgcn.hip

[CIR][AMDGPU] Add support for AMDGCN rcp builtins (#197447)

Adds codegen for the following AMDGCN reciprocal builtins:

- __builtin_amdgcn_rcp (double)
- __builtin_amdgcn_rcpf (float)
- __builtin_amdgcn_rcph (half)
- __builtin_amdgcn_rcp_bf16 (bfloat16)

These are lowered to the corresponding `llvm.amdgcn.rcp` intrinsic.
DeltaFile
+26-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-gfx1250.hip
+16-0clang/test/CIR/CodeGenHIP/builtins-amdgcn.hip
+8-0clang/test/CIR/CodeGenHIP/builtins-amdgcn-vi-f16.hip
+1-4clang/lib/CIR/CodeGen/CIRGenBuiltinAMDGPU.cpp
+51-44 files

LLVM/project cf95ce8llvm/lib/CodeGen Rematerializer.cpp

Add other missing include
DeltaFile
+1-0llvm/lib/CodeGen/Rematerializer.cpp
+1-01 files

LLVM/project 2221883llvm/lib/CodeGen Rematerializer.cpp

Re-add include
DeltaFile
+1-0llvm/lib/CodeGen/Rematerializer.cpp
+1-01 files

LLVM/project 551cdb0llvm/include/llvm/CodeGen Rematerializer.h, llvm/lib/CodeGen Rematerializer.cpp

[CodeGen][AMDGPU] Prepare rematerializer for subreg remat support (NFC)

This makes some NFCs to the rematerializer before starting to improve
support for sub-register rematerialization. The main changes are the
replacement of `Rematerializer::Reg::Dependency` type (essentially a
pair of a machine operand index and a register index) in favor of a
simple register index, dropping the machine operand index. The latter
has no current uses and will lose meaning once we allow rematerializable
registers to be defined by multiple MIs. Similarly, and for the same
rationale, unrematerializable register dependencies are now tracked as
a register/lanemask pair instead of a machine operand index.

Other minor changes listed below.

- Removal of `DefRegion` argument to `Rematerializer::recreteReg`.
  Registers are always re-created in their original region so there is
  no need to set their region again.
- Removal of `InsertPos` unused argument to
  `Rematerializer::postRematerialization`.

    [3 lines not shown]
DeltaFile
+99-79llvm/lib/CodeGen/Rematerializer.cpp
+27-32llvm/include/llvm/CodeGen/Rematerializer.h
+21-14llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
+23-3llvm/unittests/CodeGen/RematerializerTest.cpp
+170-1284 files

LLVM/project 7176158clang/lib/AST/ByteCode Interp.cpp, clang/test/AST/ByteCode typeid.cpp

[clang][bytecode] Improve diagnostics on typeid field access (#209101)

Do some extra work to extract the requested field name.
DeltaFile
+32-6clang/lib/AST/ByteCode/Interp.cpp
+5-0clang/test/AST/ByteCode/typeid.cpp
+37-62 files

LLVM/project 217d8dallvm/include/llvm/CodeGen Rematerializer.h, llvm/lib/CodeGen Rematerializer.cpp

Use a union instead of void* + static_cast for InsertBeforePos
DeltaFile
+32-17llvm/include/llvm/CodeGen/Rematerializer.h
+5-8llvm/lib/CodeGen/Rematerializer.cpp
+1-0llvm/unittests/CodeGen/RematerializerTest.cpp
+38-253 files

LLVM/project f22a217offload/test lit.cfg

[offload][test] Add fallback to legacy AMDGPU triple library dir

After the amdgcn-amd-amdhsa -> amdgpu-amd-amdhsa rename, look up the
device runtime libraries in the legacy directory when the runtime was
built under the old triple name.

Claude assisted with this patch.
DeltaFile
+10-3offload/test/lit.cfg
+10-31 files

LLVM/project b563449llvm/lib/Target/AMDGPU SIInstrInfo.cpp SIInstructions.td, llvm/test/CodeGen/AMDGPU global-atomicrmw-fadd.ll bf16.ll

[AMDGPU] Use v_pk_add_bf16 for scalar bf16 fadd on gfx1250/gfx13
DeltaFile
+39-68llvm/test/CodeGen/AMDGPU/global-atomicrmw-fadd.ll
+56-34llvm/test/CodeGen/AMDGPU/bf16.ll
+28-36llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
+49-0llvm/test/CodeGen/AMDGPU/packed-fneg-fsub-bf16.ll
+13-0llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
+11-1llvm/lib/Target/AMDGPU/SIInstructions.td
+196-1392 files not shown
+209-1418 files

LLVM/project 19f9973llvm/lib/Target/SPIRV SPIRVBuiltins.cpp

[NFC][SPIR-V] Remove unused LowLevelType parameter from buildLoadInst (#208428)
DeltaFile
+5-6llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
+5-61 files

LLVM/project dc8ee15mlir/lib/Conversion/SPIRVToLLVM SPIRVToLLVM.cpp, mlir/test/Conversion/SPIRVToLLVM arithmetic-ops-to-llvm.mlir

[mlir][SPIR-V] Add SPIRVToLLVM conversion for SNegate (#206950)
DeltaFile
+40-24mlir/lib/Conversion/SPIRVToLLVM/SPIRVToLLVM.cpp
+20-0mlir/test/Conversion/SPIRVToLLVM/arithmetic-ops-to-llvm.mlir
+60-242 files