LLVM/project b342b40mlir/lib/AsmParser AttributeParser.cpp, mlir/test/IR dense-elements-type-interface.mlir

simplify parser
DeltaFile
+27-36mlir/lib/AsmParser/AttributeParser.cpp
+47-1mlir/test/IR/dense-elements-type-interface.mlir
+74-372 files

LLVM/project 7637618libcxx/test/benchmarks stop_token.bench.cpp

[libc++] Reduce the number of runs on the stop_token benchmarks (#179914)

Testing a bunch of sizes has relatively little value. This reduces the
number of benchmarks so we can run them on a regular basis.

Fixes #179697
DeltaFile
+4-4libcxx/test/benchmarks/stop_token.bench.cpp
+4-41 files

LLVM/project 3463c3fmlir/lib/AsmParser AttributeParser.cpp, mlir/test/IR dense-elements-type-interface.mlir

simplify parser
DeltaFile
+27-40mlir/lib/AsmParser/AttributeParser.cpp
+47-1mlir/test/IR/dense-elements-type-interface.mlir
+74-412 files

LLVM/project 269fda1llvm/test/CodeGen/AMDGPU mad-mix.ll mad-mix-bf16.ll, llvm/test/CodeGen/AMDGPU/GlobalISel fdiv.f16.ll

[AMDGPU] Fix pattern selecting fmul to v_fma_mix_f32 (#180210)

This needs to use an addend of -0.0 to get the correct result when the
result should be -0.0.
DeltaFile
+74-74llvm/test/CodeGen/AMDGPU/GlobalISel/fdiv.f16.ll
+52-52llvm/test/CodeGen/AMDGPU/mad-mix.ll
+21-21llvm/test/CodeGen/AMDGPU/mad-mix-bf16.ll
+16-16llvm/test/CodeGen/AMDGPU/frem.ll
+5-5llvm/test/CodeGen/AMDGPU/bf16.ll
+4-4llvm/test/CodeGen/AMDGPU/fdiv.f16.ll
+172-1721 files not shown
+174-1757 files

LLVM/project 6c6fb00llvm/lib/Target/AMDGPU SIShrinkInstructions.cpp, llvm/test/CodeGen/AMDGPU amdgcn.bitcast.512bit.ll min.ll

[AMDGPU] Optimize S_OR_B32 to S_ADDK_I32 where possible (#177949)

This PR fixes #177753, converting disjoint S_OR_B32 to S_ADDK_I32
whenever possible, it avoids this transformation in case S_OR_B32 can be
converted to bitset.

Note on Test Failures (Draft Status) This change causes significant
register reshuffling across the test suite due to the new allocation
hints and the swaps performed in case src0 is not a register and src1,
along with the change from or to addk. To avoid a massive, noisy diff
during the initial logic review:

This Draft PR only includes a representative sample of updated tests.
CodeGen/AMDGPU/combine-reg-or-const.ll -> Showcases change from S_OR to
S_ADDK
CodeGen/AMDGPU/s-barrier.ll -> Showcases swap between Src0 and Src1 if
src0 is not a register

The rest of the tests show the result of the register allocation hint we

    [3 lines not shown]
DeltaFile
+578-590llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.512bit.ll
+33-33llvm/test/CodeGen/AMDGPU/GlobalISel/fshl.ll
+25-25llvm/test/CodeGen/AMDGPU/GlobalISel/fshr.ll
+17-17llvm/test/CodeGen/AMDGPU/min.ll
+16-15llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
+31-0llvm/test/CodeGen/AMDGPU/s_or_b32_transformation.ll
+700-6801 files not shown
+701-6817 files

LLVM/project ab79abblibcxx/include/__atomic atomic.h, libcxx/test/std/atomics/atomics.ref fetch_min.pass.cpp fetch_max.pass.cpp

implement atomic max/min
DeltaFile
+70-0libcxx/test/std/atomics/atomics.ref/fetch_min.pass.cpp
+70-0libcxx/test/std/atomics/atomics.ref/fetch_max.pass.cpp
+68-0libcxx/include/__atomic/atomic.h
+57-0libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min_explicit.pass.cpp
+57-0libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_max_explicit.pass.cpp
+55-0libcxx/test/std/atomics/atomics.types.operations/atomics.types.operations.req/atomic_fetch_min.pass.cpp
+377-014 files not shown
+541-2620 files

LLVM/project 4bffbc8llvm/test/CodeGen/AMDGPU/GlobalISel regbankcombiner-copy-scc-vcc.mir ssubsat.ll

Add known bits, and adjust combine pattern.
DeltaFile
+275-256llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-copy-scc-vcc.mir
+21-61llvm/test/CodeGen/AMDGPU/GlobalISel/ssubsat.ll
+28-54llvm/test/CodeGen/AMDGPU/GlobalISel/icmp.ll
+29-47llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-umed3.mir
+29-47llvm/test/CodeGen/AMDGPU/GlobalISel/regbankcombiner-smed3.mir
+17-58llvm/test/CodeGen/AMDGPU/GlobalISel/saddsat.ll
+399-52311 files not shown
+495-71517 files

LLVM/project 15c9c77llvm/lib/Target/Mips MipsISelLowering.cpp, llvm/test/CodeGen/Mips musttail-disabled.ll

[MIPS] Do not silently ignore musttail (#178310)

Do not silently ignore musttail markings if UseMipsTailCalls is false.
DeltaFile
+16-0llvm/test/CodeGen/Mips/musttail-disabled.ll
+3-0llvm/lib/Target/Mips/MipsISelLowering.cpp
+19-02 files

LLVM/project 19d6811llvm/lib/Target/AMDGPU SIInstrInfo.h, llvm/test/TableGen RegClassByHwMode.td

Revert "[MC][TableGen] Expand Opcode field of MCInstrDesc" (#180321)

Reverts llvm/llvm-project#179652

This PR causes the out-of-memory build failures on many Windows
builders.
DeltaFile
+82-82llvm/lib/Target/AMDGPU/SIInstrInfo.h
+50-50llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
+37-37llvm/test/TableGen/RegClassByHwMode.td
+29-29llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
+22-22llvm/test/TableGen/GlobalISelEmitter/Subreg.td
+14-14llvm/test/TableGen/GlobalISelEmitter/CustomPredicate.td
+234-23464 files not shown
+473-48070 files

LLVM/project f599f16llvm/lib/Target/AMDGPU SIInstrInfo.h, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.cpp

Revert "[MC][TableGen] Expand Opcode field of MCInstrDesc (#179652)"

This reverts commit 13d8870d455fafa734d29b1f3703386ef6e3b5f8.
DeltaFile
+82-82llvm/lib/Target/AMDGPU/SIInstrInfo.h
+50-50llvm/test/TableGen/GlobalISelEmitter/GlobalISelEmitter.td
+37-37llvm/test/TableGen/RegClassByHwMode.td
+29-29llvm/test/TableGen/GlobalISelEmitter/DefaultOpsGlobalISel.td
+22-22llvm/test/TableGen/GlobalISelEmitter/Subreg.td
+14-14llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
+234-23464 files not shown
+473-48070 files

LLVM/project 060f325mlir/lib/Dialect/Linalg/Transforms Vectorization.cpp, mlir/test/Dialect/Linalg/vectorization convolution-with-patterns.mlir

[mlir][Linalg] Promote lhs/rhs when vectorizing conv1D as outerproduct (#179883)

-- vector.outerproduct requires lhs/rhs to have same element type as the
   result.
-- This commit adds a fix to promote lhs/rhs to have result's element
   type when vectorizing conv1D slice to vector.outerproduct.
-- This is along the similar lines of what happens when we are
   vectorizing conv1D slice to vector.contract - the corresponding
   CHECK line was incorrect and this commit fixes that too.

Signed-off-by: Abhishek Varma <abhvarma at amd.com>
DeltaFile
+57-2mlir/test/Dialect/Linalg/vectorization/convolution-with-patterns.mlir
+8-2mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
+65-42 files

LLVM/project 2a2a394llvm/lib/Target/SPIRV SPIRVLegalizeZeroSizeArrays.cpp, llvm/test/CodeGen/SPIRV legalize-zero-size-arrays-alloca-count.ll legalize-zero-size-arrays-alloca-nested.ll

[SPIRV] Optimize getAllocatedType calls in LegalizeZeroSizeArrays (#179068)

Compute zero-sized allocation accurately using size APIs, and replace
them with 1 byte instead of 1 pointer of space.

Co-authored-by: Claude Sonnet 4.5 <noreply at anthropic.com>
DeltaFile
+13-17llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.cpp
+2-2llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca-count.ll
+2-2llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca-nested.ll
+2-2llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-alloca.ll
+19-234 files

LLVM/project a362593clang/test/Misc/target-invalid-cpu-note x86.c, clang/test/Preprocessor predefined-arch-macros.c

[X86] AMD Zen 6 Initial enablement (#179150)

This patch adds initial support for AMD Zen 6 architecture (znver6):

- Added znver6 CPU target recognition in Clang and LLVM
- Updated compiler-rt CPU model detection for znver6
- Added znver6 to target parser and host CPU detection
- Added znver6 to various optimizer tests

znver6 features: FP16, AVXVNNIINT8, AVXNECONVERT, AVXIFMA (without BMM).
DeltaFile
+151-0clang/test/Preprocessor/predefined-arch-macros.c
+10-2compiler-rt/lib/builtins/cpu_model/x86.c
+11-0llvm/lib/Target/X86/X86.td
+6-0llvm/lib/TargetParser/Host.cpp
+5-0llvm/lib/TargetParser/X86TargetParser.cpp
+4-0clang/test/Misc/target-invalid-cpu-note/x86.c
+187-223 files not shown
+217-229 files

LLVM/project 3449207lldb/source/Host/macosx/objcxx HostInfoMacOSX.mm

[lldb][NFC] Fix the SPI prototypes in HostInfoMacOSX.mm
to unblock a CI bot building with a different set of headers.
rdar://148939795
DeltaFile
+25-18lldb/source/Host/macosx/objcxx/HostInfoMacOSX.mm
+25-181 files

LLVM/project 0671f04llvm/include/llvm/Transforms/Utils MemoryTaggingSupport.h, llvm/lib/Target/AArch64 AArch64StackTagging.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+7-8llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
+2-4llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
+1-2llvm/lib/Target/AArch64/AArch64StackTagging.cpp
+1-2llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
+11-164 files

LLVM/project 1106a41mlir/include/mlir/Dialect/GPU/IR GPUOps.td, mlir/test/Dialect/GPU invalid.mlir

[mlir][GPU] Verify known_{block,grid,cluster}_size is at least 1 (#179886)

### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/179604
DeltaFile
+12-1mlir/test/Dialect/GPU/invalid.mlir
+8-2mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
+20-32 files

LLVM/project fae1cc0compiler-rt/include/sanitizer ubsan_interface.h, compiler-rt/lib/ubsan ubsan_loop_detect.cpp CMakeLists.txt

ubsan: Add loop detection runtime and e2e tests for -fsanitize-trap-loop.



Reviewers: fmayer, vitalybuka

Reviewed By: vitalybuka, fmayer

Pull Request: https://github.com/llvm/llvm-project/pull/179011
DeltaFile
+100-0compiler-rt/lib/ubsan/ubsan_loop_detect.cpp
+15-7compiler-rt/test/cfi/CMakeLists.txt
+22-0compiler-rt/include/sanitizer/ubsan_interface.h
+21-0compiler-rt/lib/ubsan/CMakeLists.txt
+21-0llvm/utils/gn/secondary/compiler-rt/lib/ubsan/BUILD.gn
+12-2compiler-rt/test/cfi/lit.cfg.py
+191-94 files not shown
+200-910 files

LLVM/project a544d37clang/docs UsersManual.rst, clang/include/clang/Options Options.td

CodeGen, Driver: Add -fsanitize-trap-loop option.

This option may be used to opt into infinite loops for failed UBSan and
CFI checks. It causes Clang to generate an llvm.cond.loop intrinsic call
instead of a conditional branch to a trap instruction when generating
code for a conditional trap.

Part of this RFC:
https://discourse.llvm.org/t/rfc-optimizing-conditional-traps/89456

Reviewers: fmayer, vitalybuka

Reviewed By: vitalybuka, fmayer

Pull Request: https://github.com/llvm/llvm-project/pull/177688
DeltaFile
+25-0clang/docs/UsersManual.rst
+20-0clang/test/CodeGenCXX/sanitize-trap-loop.cpp
+7-0clang/include/clang/Options/Options.td
+6-0clang/lib/CodeGen/CGExpr.cpp
+5-0clang/lib/Driver/SanitizerArgs.cpp
+3-0clang/test/Driver/sanitize-trap-loop.c
+66-02 files not shown
+69-08 files

LLVM/project 191af6cllvm/docs LangRef.rst, llvm/lib/CodeGen PreISelIntrinsicLowering.cpp

Add llvm.cond.loop intrinsic.

The llvm.cond.loop intrinsic is semantically equivalent to a conditional
branch conditioned on ``pred`` to a basic block consisting only of an
unconditional branch to itself. Unlike such a branch, it is guaranteed
to use specific instructions. This allows an interrupt handler or
other introspection mechanism to straightforwardly detect whether
the program is currently spinning in the infinite loop and possibly
terminate the program if so. The intent is that this intrinsic may
be used as a more efficient alternative to a conditional branch to
a call to ``llvm.trap`` in circumstances where the loop detection
is guaranteed to be present. This construct has been experimentally
determined to be executed more efficiently (when the branch is not taken)
than a conditional branch to a trap instruction on AMD and older Intel
microarchitectures, and is also more code size efficient by avoiding the
need to emit a trap instruction and possibly a long branch instruction.

On i386 and x86_64, the infinite loop is guaranteed to consist of a short
conditional branch instruction that branches to itself. Specifically,

    [9 lines not shown]
DeltaFile
+29-22llvm/lib/Target/X86/X86ISelLowering.cpp
+50-0llvm/test/CodeGen/X86/cond-loop.ll
+48-0llvm/docs/LangRef.rst
+25-0llvm/test/Transforms/PreISelIntrinsicLowering/cond-loop.ll
+17-0llvm/lib/CodeGen/PreISelIntrinsicLowering.cpp
+13-0llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
+182-2211 files not shown
+234-2317 files

LLVM/project 38f0947utils/bazel/llvm-project-overlay/clang/unittests BUILD.bazel

buildifier

Created using spr 1.3.7
DeltaFile
+2-2utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
+2-21 files

LLVM/project 1f0710dlld/ELF OutputSections.cpp, llvm/test/tools/obj2yaml/ELF bb-addr-map-pgo-analysis-map.yaml

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+4-4llvm/test/tools/obj2yaml/ELF/bb-addr-map-pgo-analysis-map.yaml
+0-2lld/ELF/OutputSections.cpp
+1-1llvm/tools/obj2yaml/elf2yaml.cpp
+5-73 files

LLVM/project 5973dc6llvm/test/tools/obj2yaml/ELF bb-addr-map-pgo-analysis-map.yaml, llvm/tools/obj2yaml elf2yaml.cpp

[𝘀𝗽𝗿] changes to main this commit is based on

Created using spr 1.3.7

[skip ci]
DeltaFile
+4-4llvm/test/tools/obj2yaml/ELF/bb-addr-map-pgo-analysis-map.yaml
+1-1llvm/tools/obj2yaml/elf2yaml.cpp
+5-52 files

LLVM/project 32ab445llvm/test/tools/obj2yaml/ELF bb-addr-map-pgo-analysis-map.yaml, llvm/tools/obj2yaml elf2yaml.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+4-4llvm/test/tools/obj2yaml/ELF/bb-addr-map-pgo-analysis-map.yaml
+1-1llvm/tools/obj2yaml/elf2yaml.cpp
+5-52 files

LLVM/project 570055bmlir/lib/Dialect/XeGPU/Transforms XeGPUWgToSgDistribute.cpp, mlir/test/Dialect/XeGPU xegpu-blocking.mlir xegpu-wg-to-sg-unify-ops.mlir

[MLIR][XeGPU] Propagate layout from anchor ops before Wg To Sg & Blocking Pass (#179490)

This PR calls recoverTemporaryLayout before the XeGPUWgtoSgDistribute &
XeGPUBlocking Pass to recover all the temporary operand layout which
might be required by the transformation patterns for checks and
verification
DeltaFile
+11-70mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
+38-30mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
+14-25mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops.mlir
+11-22mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
+13-20mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-elemwise.mlir
+6-6mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-unify-ops-rr.mlir
+93-1733 files not shown
+102-1819 files

LLVM/project 68a1bfautils/bazel/llvm-project-overlay/clang/unittests BUILD.bazel

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+29-0utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel
+29-01 files

LLVM/project 12d0672clang/lib/CIR/Dialect/Transforms FlattenCFG.cpp, clang/test/CIR/Transforms flatten-cleanup-scope-simple.cir flatten-cleanup-scope-multi-exit.cir

[CIR] Implement initial flattening of cleanup scope ops (#180063)

This implements flattening of `cir.cleanup.scope` operations that have a
single exit, and introduces checks to detect multiple exit cases and
report an error when they are encountered. At this point, only normal
cleanups are flattened. EH cleanup handling will be added in a future
change.

Substantial amounts of this PR were created using agentic AI tools, but
I have carefully reviewed the code, comments, and tests and made changes
as needed.
DeltaFile
+540-0clang/test/CIR/Transforms/flatten-cleanup-scope-simple.cir
+413-0clang/test/CIR/Transforms/flatten-cleanup-scope-multi-exit.cir
+326-4clang/lib/CIR/Dialect/Transforms/FlattenCFG.cpp
+59-0clang/test/CIR/Transforms/flatten-cleanup-scope-nyi.cir
+1,338-44 files

LLVM/project 66020a7clang/lib/CodeGen CGObjCMac.cpp

format
DeltaFile
+3-6clang/lib/CodeGen/CGObjCMac.cpp
+3-61 files

LLVM/project 4d6913elibcxx/include/__vector vector.h

[libcxx] Rename `__split_buffer` alias template to `_SplitBuffer` (#180284)

`-Wchanges-meaning` is a GCC warning that catches shadowing in more
contexts. While a bit annoying here, it's a helpful warning. As such, we
need to rename the `__split_buffer` alias template in `std::vector` so
that we don't trip it up.
DeltaFile
+20-23libcxx/include/__vector/vector.h
+20-231 files

LLVM/project 047db15clang/test/OpenMP task_codegen.cpp threadprivate_codegen.cpp

Revert "[Clang] Mark this pointer in destructors dead_on_return (#166276)"

This reverts commit 278fd0553ef5834e005a048a6b480631f3fc1b38.

This was causing some buildbot failures in DSE:
1. https://lab.llvm.org/buildbot/#/builders/25/builds/15425
2. https://lab.llvm.org/buildbot/#/builders/24/builds/17304
DeltaFile
+2,041-3,458clang/test/OpenMP/task_codegen.cpp
+2,140-2,140clang/test/OpenMP/threadprivate_codegen.cpp
+514-514clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
+510-510clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
+311-647clang/test/OpenMP/for_reduction_codegen.cpp
+455-455clang/test/OpenMP/single_codegen.cpp
+5,971-7,72493 files not shown
+13,769-15,65399 files

LLVM/project 3213d9dclang/include/clang/CodeGen CodeGenABITypes.h, clang/lib/CodeGen CGObjCMac.cpp

expose getObjCDirectMethodCallee for swift

Swift may need to emit calls to thunks as well. Instead
of letting swift rewrite the thunk generation logic, we
might as well expose the method.
DeltaFile
+19-0clang/lib/CodeGen/CGObjCMac.cpp
+15-0clang/include/clang/CodeGen/CodeGenABITypes.h
+34-02 files