LLVM/project 7c672b6utils/bazel/llvm-project-overlay/llvm BUILD.bazel

[bazel][RuntimeLibcalls] Fix 30c0454414ec043dc50d2690f72a12719ab89d6c (#210796)

Add PredicateExpanderDag.cpp to the glob. Avoid adding
PredicateExpanderDag.h and instead switch to a glob to include all
headers. We can't glob the .cpp files due to a circular dep when
including TargetFeaturesEmitter.cpp.
DeltaFile
+2-6utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
+2-61 files

LLVM/project 230a8d9llvm/test/CodeGen/AMDGPU load-constant-i1.ll, llvm/test/CodeGen/AMDGPU/GlobalISel llvm.amdgcn.image.atomic.dim.a16.ll llvm.amdgcn.image.gather4.a16.dim.ll

[AMDGPU] Upstream True16 runlines for various tests
DeltaFile
+2,559-652llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.atomic.dim.a16.ll
+1,270-764llvm/test/CodeGen/AMDGPU/load-constant-i1.ll
+1,253-322llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.gather4.a16.dim.ll
+430-320llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.struct.buffer.load.tfe.ll
+402-298llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.raw.buffer.load.tfe.ll
+377-208llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.image.sample.g16.ll
+6,291-2,56415 files not shown
+7,899-3,24421 files

LLVM/project c9a17d3libc/src/stdio/linux stdin.cpp stdout.cpp

[libc] Fix standard streams variable name typos in overlay mode. (#210728)

These appear to be a couple of copy/paste misses from #187522.
DeltaFile
+1-1libc/src/stdio/linux/stdin.cpp
+1-1libc/src/stdio/linux/stdout.cpp
+2-22 files

LLVM/project 0de567bllvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp

[NewPM] Port LegacyPM regalloc Refactoring

This didn't seem to make it into the original CodeGen NewPM patches, so
add it now to keep things consistent. This also removes duplicate
StackSlotColoring passes.

Originally done for the LegacyPM in
c9122ddef5213fbdd2d82c473a74e1742010f62f.

Reviewers: arsenm, aeubanks

Pull Request: https://github.com/llvm/llvm-project/pull/210760
DeltaFile
+7-12llvm/include/llvm/Passes/CodeGenPassBuilder.h
+4-4llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+0-2llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+0-1llvm/test/CodeGen/Lanai/llc-pipeline-npm.ll
+11-194 files

LLVM/project 2e8eee0llvm/lib/Target/AMDGPU SIISelLowering.cpp AMDGPUISelLowering.cpp, llvm/test/CodeGen/AMDGPU uaddsat.ll

[AMDGPU] Lower uniform uaddsat.i16 to SALU instructions
DeltaFile
+46-70llvm/test/CodeGen/AMDGPU/GlobalISel/uaddsat.ll
+56-0llvm/test/CodeGen/AMDGPU/uaddsat.ll
+10-2llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+1-0llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
+113-724 files

LLVM/project 33acb62clang/lib/Driver ToolChain.cpp, clang/test/Driver amdgpu-toolchain.c

[Clang][AMDGPU] Search both amdgcn and amdgpu libraries again (#210767)

Summary:
Extension to https://github.com/llvm/llvm-project/pull/209770/, the
previous one did not cover all cases we search paths, it only did the
relative paths for a few cases. This adds it to the other case, should
be the same logic and motivation.
DeltaFile
+8-0clang/lib/Driver/ToolChain.cpp
+6-0clang/test/Driver/amdgpu-toolchain.c
+14-02 files

LLVM/project 3b5ac29llvm/test/CodeGen/AMDGPU v_swap_b16.mir schedule-regpressure-ilp-metric-spills.mir

[AMDGPU] Refactor some existing test files with true16/fake16 split, add some new test cases
DeltaFile
+409-0llvm/test/CodeGen/AMDGPU/v_swap_b16.mir
+192-192llvm/test/CodeGen/AMDGPU/schedule-regpressure-ilp-metric-spills.mir
+227-0llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
+51-52llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma.mir
+102-0llvm/test/CodeGen/AMDGPU/gfx11-twoaddr-fma-fake16.mir
+42-18llvm/test/CodeGen/AMDGPU/shrink-true16.mir
+1,023-2623 files not shown
+1,146-2729 files

LLVM/project 7e45642llvm/test/CodeGen/AMDGPU vector-reduce-mul.ll llvm.floor.f16.ll

[AMDGPU] Clean up check prefixes and regenerate checklines for some tests that were out of date
DeltaFile
+536-264llvm/test/CodeGen/AMDGPU/vector-reduce-mul.ll
+38-38llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
+25-25llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
+40-2llvm/test/CodeGen/AMDGPU/llvm.amdgcn.raw.buffer.load.ll
+37-2llvm/test/CodeGen/AMDGPU/wmma-gfx12-w32-f16-f32-matrix-modifiers.ll
+676-3315 files

LLVM/project f58a260llvm/lib/Target/AMDGPU AMDGPUISelDAGToDAG.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll packed-u64.ll

[AMDGPU] Relax SGPR splat selection for PK_*64

These instructions replicate SGPR operands into high 64-bit channel
w/o opsel.
DeltaFile
+77-45llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+46-2llvm/test/CodeGen/AMDGPU/packed-u64.ll
+3-4llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+126-513 files

LLVM/project 47593d5llvm/tools/spirv-tools CMakeLists.txt

[SPIRV] SPIRVTools custom targets should not have executable suffix (#210773)

This looks like it was likely a copy paste mistake. When we invoke the
binary via the cmake command yes we need the executable suffix. but the
custom target name is the same across all OSes.

This bug manifests itself on Windows when you add
-DLLVM_INCLUDE_SPIRV_TOOLS_TESTS=ON to the cmake.
DeltaFile
+1-1llvm/tools/spirv-tools/CMakeLists.txt
+1-11 files

LLVM/project 05a290fllvm/lib/Target/AMDGPU AMDGPUISelDAGToDAG.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll packed-u64.ll

[AMDGPU] Relax SGPR splat selection for PK_*64

These instructions replicate SGPR operands into high 64-bit channel
w/o opsel.
DeltaFile
+77-45llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+46-2llvm/test/CodeGen/AMDGPU/packed-u64.ll
+5-4llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+128-513 files

LLVM/project 3f2e25autils/bazel/llvm-project-overlay/mlir BUILD.bazel

[Bazel] Fixes dd0b48c (#210779)

This fixes dd0b48c7e7988fed5f08e93ea3c291ca8d5f99a1.

Buildkite error link:
https://buildkite.com/llvm-project/upstream-bazel/builds?commit=dd0b48c7e7988fed5f08e93ea3c291ca8d5f99a1

Co-authored-by: Google Bazel Bot <google-bazel-bot at google.com>
DeltaFile
+1-0utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
+1-01 files

LLVM/project 05217e2llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+14-14llvm/include/llvm/Passes/CodeGenPassBuilder.h
+5-5llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+0-2llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+0-1llvm/test/CodeGen/Lanai/llc-pipeline-npm.ll
+19-224 files

LLVM/project 21e74a2llvm/include/llvm/Passes CodeGenPassBuilder.h, llvm/lib/Target/AMDGPU AMDGPUTargetMachine.cpp

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

Created using spr 1.3.7

[skip ci]
DeltaFile
+7-12llvm/include/llvm/Passes/CodeGenPassBuilder.h
+4-4llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+0-2llvm/test/CodeGen/X86/llc-pipeline-npm.ll
+0-1llvm/test/CodeGen/Lanai/llc-pipeline-npm.ll
+11-194 files

LLVM/project 8632f54llvm/test/CodeGen/AMDGPU fadd.f16.ll strict_fsub.f16.ll, llvm/test/CodeGen/AMDGPU/GlobalISel llvm.amdgcn.div.fmas.ll

[AMDGPU] Testing cleanup in prep for true16 test upstreaming (#209888)

Some small cleanup of a few tests in preparation for True16 test
upstreaming, synchronizes with cleanups that already happened downstream
DeltaFile
+0-121llvm/test/CodeGen/AMDGPU/fadd.f16.ll
+0-106llvm/test/CodeGen/AMDGPU/strict_fsub.f16.ll
+2-2llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.div.fmas.ll
+2-2293 files

LLVM/project 78b96acclang-tools-extra/docs/clang-tidy/checks/altera id-dependent-backward-branch.md, clang-tools-extra/docs/clang-tidy/checks/bugprone copy-constructor-mutates-argument.md command-processor.md

[clang-tidy][docs] Address review nits
DeltaFile
+1-3clang-tools-extra/docs/clang-tidy/checks/altera/id-dependent-backward-branch.md
+1-3clang-tools-extra/docs/clang-tidy/checks/bugprone/copy-constructor-mutates-argument.md
+1-3clang-tools-extra/docs/clang-tidy/checks/bugprone/command-processor.md
+1-3clang-tools-extra/docs/clang-tidy/checks/bugprone/default-operator-new-on-overaligned-type.md
+0-1clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/noexcept-destructor.md
+0-1clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-array-to-pointer-decay.md
+4-1424 files not shown
+4-3830 files

LLVM/project 5609f70clang-tools-extra/docs/clang-tidy/checks/altera id-dependent-backward-branch.md, clang-tools-extra/docs/clang-tidy/checks/bugprone spuriously-wake-up-functions.md

[docs] Convert selected rst docs with rst2myst
DeltaFile
+19-19clang-tools-extra/docs/clang-tidy/checks/altera/id-dependent-backward-branch.md
+18-19clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.md
+19-18clang-tools-extra/docs/clang-tidy/checks/misc/misplaced-const.md
+19-18clang-tools-extra/docs/clang-tidy/checks/llvmlibc/callee-namespace.md
+18-18clang-tools-extra/docs/clang-tidy/checks/llvm/prefer-register-over-unsigned.md
+19-17clang-tools-extra/docs/clang-tidy/checks/modernize/use-bool-literals.md
+112-109205 files not shown
+1,888-1,731211 files

LLVM/project b714b02clang-tools-extra/docs/clang-tidy/checks/abseil duration-factory-float.rst, clang-tools-extra/docs/clang-tidy/checks/bugprone inaccurate-erase.rst spuriously-wake-up-functions.rst

[clang-tidy][docs] Rename short check docs to Markdown
DeltaFile
+0-29clang-tools-extra/docs/clang-tidy/checks/bugprone/inaccurate-erase.rst
+0-29clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.rst
+29-0clang-tools-extra/docs/clang-tidy/checks/bugprone/spuriously-wake-up-functions.md
+29-0clang-tools-extra/docs/clang-tidy/checks/google/objc-avoid-nsobject-new.md
+0-29clang-tools-extra/docs/clang-tidy/checks/abseil/duration-factory-float.rst
+29-0clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.md
+87-87416 files not shown
+3,481-3,481422 files

LLVM/project b045396clang-tools-extra/docs/clang-tidy/checks/bugprone no-escape.md, clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines pro-bounds-constant-array-index.md

[clang-tidy][docs] Finish MyST cleanup for short check docs
DeltaFile
+12-17clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.md
+6-13clang-tools-extra/docs/clang-tidy/checks/google/runtime-int.md
+8-10clang-tools-extra/docs/clang-tidy/checks/readability/redundant-string-cstr.md
+7-10clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/pro-bounds-constant-array-index.md
+7-10clang-tools-extra/docs/clang-tidy/checks/misc/non-private-member-variables-in-classes.md
+7-8clang-tools-extra/docs/clang-tidy/checks/bugprone/no-escape.md
+47-68131 files not shown
+251-443137 files

LLVM/project 55ff2d9llvm/lib/Target/AMDGPU SIFoldOperands.cpp

Apply suggestion from @arsenm

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>
DeltaFile
+1-1llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+1-11 files

LLVM/project afb54ccllvm/include/llvm/Transforms Scalar.h, llvm/include/llvm/Transforms/Utils UnrollLoop.h

[LoopUnroll] Remove `Count` from `UnrollingPreferences` (NFC) (#203413)

`UnrollingPreferences` is a way for targets to specify their preferences
to the unroller. The unroller uses `UnrollingPreferences` to guide what
kinds of unrolling to consider while also co-opting it to encode the
specific kind of unrolling it's chosen to attempt.

One preference targets can set is the `Count`, or the number of times
the loop in question will be unrolled:
```
    /// A forced unrolling factor (the number of concatenated bodies of the
    /// original loop in the unrolled loop body). When set to 0, the unrolling
    /// transformation will select an unrolling factor based on the current cost
    /// threshold and other factors.
    unsigned Count;
```
However, there are no in-tree uses of this functionality, and it does
not work. [Loop
peeling](https://github.com/llvm/llvm-project/blob/112fb2f79d7983be203957cad6b148865182ed47/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp#L1072)

    [21 lines not shown]
DeltaFile
+96-128llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
+58-49llvm/lib/Transforms/Scalar/LoopUnrollAndJamPass.cpp
+6-7llvm/include/llvm/Transforms/Utils/UnrollLoop.h
+3-4llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
+4-3llvm/test/Transforms/LoopUnroll/RISCV/runtime-unroll-max-trip-count.ll
+3-3llvm/include/llvm/Transforms/Scalar.h
+170-1941 files not shown
+170-1997 files

LLVM/project bad1a9dllvm/lib/Target/AMDGPU AMDGPUISelDAGToDAG.cpp, llvm/test/CodeGen/AMDGPU packed-fp64.ll

[AMDGPU] Relax SGPR splat selection for PK_*64

These instructions replicate SGPR operands into high 64-bit channel
w/o opsel.
DeltaFile
+33-43llvm/test/CodeGen/AMDGPU/packed-fp64.ll
+6-4llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+39-472 files

LLVM/project 0fb9ea7llvm/lib/Target/AMDGPU SIFoldOperands.cpp, llvm/test/CodeGen/AMDGPU fold-imm-pk64.mir

[AMDGPU] Fold immediate from REQ_SEQUENCE (imm, IMPLICIT_DEF)
DeltaFile
+71-0llvm/test/CodeGen/AMDGPU/fold-imm-pk64.mir
+14-5llvm/lib/Target/AMDGPU/SIFoldOperands.cpp
+85-52 files

LLVM/project 3d638eamlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp, mlir/test/Dialect/XeGPU propagate-layout-inst-data.mlir

[mlir][xegpu] Change inst-data of load/load_matrix to fit lane layout (#209661)

The consumer layout may have multiple distribution of lane data, but
load_gather/load_matrix only allow one single distribution, change their
inst_data according to the single distribution of lane data.
DeltaFile
+38-9mlir/test/Dialect/XeGPU/propagate-layout-inst-data.mlir
+3-12mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+41-212 files

LLVM/project 6fcf3b3llvm/lib/Transforms/AggressiveInstCombine AggressiveInstCombine.cpp, llvm/test/Transforms/AggressiveInstCombine/X86 lower-table-based-log2-basics.ll

[AggressiveInstCombine] Emit branchless MSB index for de Bruijn ctlz tables (#210633)

When the de Bruijn table's zero element is the bit width minus one it
computes the most significant bit index. We can do that without a branch
using ~ctlz(X) & (InputBits - 1), so the select is no longer needed.

Alive: https://alive2.llvm.org/ce/z/9WsUXd

Fixes #208989
DeltaFile
+23-13llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
+3-4llvm/test/Transforms/AggressiveInstCombine/X86/lower-table-based-log2-basics.ll
+26-172 files

LLVM/project 30c0454llvm/include/llvm/IR RuntimeLibcallsImpl.td, llvm/test/TableGen RuntimeLibcallEmitter-predicate-dag.td RuntimeLibcallEmitter-predicate-dag-errors.td

RuntimeLibcalls: Reuse AssemblerPredicate's operators for libcalls (#210651)

Allow specifying RuntimeLibcall's availability in terms of individual
triple properties composed with logical operators.

Co-authored-by: Claude (Claude-Opus-4.8) <noreply at anthropic.com>
DeltaFile
+60-0llvm/test/TableGen/RuntimeLibcallEmitter-predicate-dag.td
+24-35llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
+56-0llvm/utils/TableGen/Basic/PredicateExpanderDag.cpp
+42-0llvm/test/TableGen/RuntimeLibcallEmitter-predicate-dag-errors.td
+41-0llvm/utils/TableGen/Basic/PredicateExpanderDag.h
+29-2llvm/include/llvm/IR/RuntimeLibcallsImpl.td
+252-373 files not shown
+291-409 files

LLVM/project 9208fc3lldb/source/Protocol/MCP Server.cpp, lldb/tools/lldb-mcp lldb-mcp.cpp Multiplexer.cpp

[lldb-mcp] Host managed debug sessions in-process (#210450)

Let a client create and own debug sessions with session_create and
session_close. Rather than spawn a separate lldb per session, lldb-mcp
hosts them in its own process, communicating over a loopback socket to
keep things uniform with external lldb instances.

The benefits of this approach are:

- There is no child-process machinery, so nothing needs to be spawned
and cleaned up.
- It works without the need for an external lldb binary.
- It avoids the deadlock by reading stdin through a raw fd instead of
the FILE* stdio path that previously hung the Debugger constructor
contending on the REPL's stdin lock.
- The architecture stays uniform between in-process and external
sessions.

The trade-off is no isolation, so an LLDB crash takes down lldb-mcp

    [2 lines not shown]
DeltaFile
+94-125lldb/tools/lldb-mcp/lldb-mcp.cpp
+188-7lldb/unittests/tools/lldb-mcp/MultiplexerTest.cpp
+146-40lldb/tools/lldb-mcp/Multiplexer.cpp
+41-12lldb/tools/lldb-mcp/Multiplexer.h
+16-2lldb/source/Protocol/MCP/Server.cpp
+5-2lldb/tools/lldb-mcp/CMakeLists.txt
+490-1881 files not shown
+494-1887 files

LLVM/project d139c82mlir/include/mlir/Dialect/XeGPU/Transforms XeGPULayoutImpl.h, mlir/lib/Dialect/XeGPU/Transforms XeGPULayoutImpl.cpp XeGPUPropagateLayout.cpp

[MLIR][XeGPU] Add local forward layout propagation (#208932)

Backward layout propagation only assigns layouts to values that are
(transitively) consumed by an anchor op. A value whose only consumer is,
e.g., the next iteration of a loop is left without a layout.

Add a local forward-fill step, run after the backward materialization
walk in propagateLayouts(): it visits ops in producer-first order and,
for any un-laid-out vector result, infers the layout from the op's
already-known operand layouts via a new
inferResultLayoutFromSourceForNonAnchorOp dispatcher (covering
elementwise, transpose, and shape_cast; other ops are left as TODO),
then stamps it with setDistributeLayoutAttr.

---------

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+167-0mlir/lib/Dialect/XeGPU/Transforms/XeGPULayoutImpl.cpp
+50-86mlir/lib/Dialect/XeGPU/Transforms/XeGPUPropagateLayout.cpp
+53-0mlir/include/mlir/Dialect/XeGPU/Transforms/XeGPULayoutImpl.h
+35-0mlir/test/Dialect/XeGPU/propagate-layout-subgroup.mlir
+305-864 files

LLVM/project e38b48bllvm/utils/gn/secondary/compiler-rt/test/hwasan BUILD.gn

Merge branch 'main' into users/jroelofs/spr/mcaarch64-add-cfi_llvm_set_ra_sign_state-for-pauth_lr
DeltaFile
+1-1llvm/utils/gn/secondary/compiler-rt/test/hwasan/BUILD.gn
+1-11 files

LLVM/project b76df57clang/test/CodeGen arm-neon-vst.c, clang/test/CodeGen/AArch64 neon-intrinsics.c neon-ldst-one.c

rebase

Created using spr 1.3.7
DeltaFile
+1,486-0clang/test/CodeGen/AArch64/neon/store.c
+4-1,011clang/test/CodeGen/arm-neon-vst.c
+0-660clang/test/CodeGen/AArch64/neon-intrinsics.c
+353-53llvm/test/Transforms/LoadStoreVectorizer/NVPTX/merge-across-side-effects.ll
+0-381clang/test/CodeGen/AArch64/neon-ldst-one.c
+63-91llvm/test/CodeGen/AMDGPU/udivrem24.ll
+1,906-2,1968 files not shown
+2,099-2,49314 files