LLVM/project c09004cllvm/lib/Target/AMDGPU SIInsertWaitcnts.cpp, llvm/test/CodeGen/AMDGPU expert_scheduling_gfx12.mir soft-waitcnt-deletion.mir

[AMDGPU] Check all incoming edges before deleting soft waits

Change-Id: I92ca9784405e53f46aa4c8701e417d32f00bbff7
DeltaFile
+724-1llvm/test/CodeGen/AMDGPU/expert_scheduling_gfx12.mir
+431-0llvm/test/CodeGen/AMDGPU/soft-waitcnt-deletion.mir
+129-38llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
+118-0llvm/test/CodeGen/AMDGPU/soft-waitcnt-loop-deletion.ll
+46-0llvm/test/CodeGen/AMDGPU/local-atomicrmw-fsub.ll
+36-0llvm/test/CodeGen/AMDGPU/local-atomicrmw-fmax.ll
+1,484-3910 files not shown
+1,608-6116 files

LLVM/project 2b84fdellvm/test/Transforms/LoopVectorize bounded-load-predicated.ll runtime-check-small-bounded-ranges.ll, llvm/test/Transforms/LoopVectorize/AArch64 bounded-load.ll

[LV] Regenerate check lines for bounded load tests (NFC). (#211664)

Re-generate test checks to reduce diff for upcoming PR.
DeltaFile
+988-988llvm/test/Transforms/LoopVectorize/bounded-load-predicated.ll
+273-129llvm/test/Transforms/LoopVectorize/AArch64/bounded-load.ll
+128-128llvm/test/Transforms/LoopVectorize/runtime-check-small-bounded-ranges.ll
+118-57llvm/test/Transforms/LoopVectorize/bounded-load-user-ic.ll
+58-20llvm/test/Transforms/LoopVectorize/bounded-load.ll
+1,565-1,3225 files

LLVM/project bb17e71llvm/lib/DWARFLinker/Parallel DWARFLinkerCompileUnit.cpp, llvm/test/tools/dsymutil/X86/DWARFLinkerParallel alloc-type.s

[DWARFLinker] Treat DW_AT_LLVM_alloc_type as a type reference (#211655)

The parallel linker's getODRAttributes() did not list
`DW_AT_LLVM_alloc_type`, so the dependency tracker treated it as a live
reference rather than a type reference. A type reachable only through
DW_AT_LLVM_alloc_type was therefore never kept: the enclosing subprogram
is marked live, and its type-table-candidate children are skipped during
live marking on the assumption they are retained through the type path.

The attribute then resolved to offset 0, landing on the compile unit
header, which got correctly caught by the DWARF verifier.

The classic linker already lists `DW_AT_LLVM_alloc_type` in
isODRAttribute(), so this PR restores parity between the two.

Assisted-by: Claude

rdar://182715403
DeltaFile
+165-0llvm/test/tools/dsymutil/X86/DWARFLinkerParallel/alloc-type.s
+2-1llvm/lib/DWARFLinker/Parallel/DWARFLinkerCompileUnit.cpp
+167-12 files

LLVM/project 2f68341clang-tools-extra/clangd ProjectModules.cpp, clang/include/clang/DependencyScanning DependencyScannerImpl.h DependencyScanningWorker.h

Move implementation details to DependencyScanningWorker.cpp and dissolve DependencyScannerImpl.h/cpp.
DeltaFile
+0-678clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+671-1clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+0-122clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+12-2clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+0-1clang/lib/DependencyScanning/CMakeLists.txt
+1-0clang-tools-extra/clangd/ProjectModules.cpp
+684-8043 files not shown
+684-8079 files

LLVM/project 55e6b99clang/include/clang/DependencyScanning DependencyScannerImpl.h, clang/lib/DependencyScanning DependencyScanningWorker.cpp DependencyScannerImpl.cpp

Use CompilerInstanceWithContext for TU scanning.
DeltaFile
+132-38clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+6-146clang/lib/DependencyScanning/DependencyScannerImpl.cpp
+33-27clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+35-0clang/unittests/Tooling/DependencyScannerTest.cpp
+1-0clang/test/ClangScanDeps/logging-simple.c
+207-2115 files

LLVM/project f4eed07clang/include/clang/DependencyScanning DependencyScanningWorker.h, clang/include/clang/Tooling DependencyScanningTool.h

Relocate CompilerInstanceWithContext to DependencyScanningWorker.cpp and hide it as an implementation detail.
DeltaFile
+252-0clang/lib/DependencyScanning/DependencyScanningWorker.cpp
+4-209clang/lib/Tooling/DependencyScanningTool.cpp
+0-75clang/include/clang/Tooling/DependencyScanningTool.h
+22-5clang/include/clang/DependencyScanning/DependencyScanningWorker.h
+278-2894 files

LLVM/project 13b0fc5clang/include/clang/DependencyScanning DependencyScannerImpl.h DependencyConsumer.h, clang/include/clang/Tooling DependencyScanningTool.h

Implement the streaming style by-name scanning API.
DeltaFile
+43-89clang/lib/Tooling/DependencyScanningTool.cpp
+39-56clang/tools/clang-scan-deps/ClangScanDeps.cpp
+15-59clang/include/clang/Tooling/DependencyScanningTool.h
+0-14clang/include/clang/DependencyScanning/DependencyScannerImpl.h
+1-3clang/test/ClangScanDeps/modules-full-by-mult-mod-names-diagnostics.c
+2-0clang/include/clang/DependencyScanning/DependencyConsumer.h
+100-2216 files

LLVM/project 59b3a0cllvm/include/llvm/Target TargetLoweringObjectFile.h, llvm/lib/CodeGen TargetLoweringObjectFileImpl.cpp

[x86] Handle implicit sections when determining if a global is large (#206210)

Just like explicit sections.

We were seeing globals with implicit sections marked large under the
medium code model.

Reland of #204247, with a fix to not crash on declarations with an
explicit section. Implicit sections are not applied to declarations, so
don't check isDeclarationForLinker() globals for implicit sections.

Assisted-by: Gemini
DeltaFile
+134-0llvm/test/CodeGen/X86/large-implicit-section.ll
+5-24llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
+25-0llvm/test/CodeGen/X86/global-variable-declaration-explicit-section.ll
+24-0llvm/lib/Target/TargetLoweringObjectFile.cpp
+13-8llvm/lib/Target/TargetMachine.cpp
+5-0llvm/include/llvm/Target/TargetLoweringObjectFile.h
+206-321 files not shown
+208-327 files

LLVM/project 93ac3feclang/docs InternalsManual.md ClangTransformerTutorial.md

[docs] Clean up migrated Clang InternalsManual markup

Replace migrated blockquote markup in InternalsManual.md with MyST definition lists where the surrounding text is semantically a term-and-definition list.
DeltaFile
+108-108clang/docs/InternalsManual.md
+1-1clang/docs/ClangTransformerTutorial.md
+109-1092 files

LLVM/project 5053e22clang/docs ClangOffloadBundler.md InternalsManual.md

Address review comments, mostly to do with wrapping

- use list-table
- reflow egregious instances
- apply some backticks.
DeltaFile
+125-42clang/docs/ClangOffloadBundler.md
+67-48clang/docs/InternalsManual.md
+12-15clang/docs/LibASTMatchersTutorial.md
+9-2clang/docs/ClangRepl.md
+3-3clang/docs/ClangTransformerTutorial.md
+0-2clang/docs/LibASTMatchers.md
+216-1126 files

LLVM/project 2be5755clang/docs InternalsManual.md InternalsManual.rst

[docs] Rename selected Clang docs to Markdown

Rename 18 Clang documentation files from .rst to .md. The clang-format generated docs are split into users/rnk/clang-format-md-rename and users/rnk/clang-format-md-write for separate review.
DeltaFile
+3,941-0clang/docs/InternalsManual.md
+0-3,941clang/docs/InternalsManual.rst
+0-658clang/docs/ClangRepl.rst
+658-0clang/docs/ClangRepl.md
+0-613clang/docs/LibASTImporter.rst
+613-0clang/docs/LibASTImporter.md
+5,212-5,21230 files not shown
+9,110-9,11036 files

LLVM/project d8f0f1dclang/docs InternalsManual.md LibASTImporter.md

[docs] Convert selected rst docs with rst2myst
DeltaFile
+1,992-2,032clang/docs/InternalsManual.md
+436-446clang/docs/LibASTImporter.md
+321-329clang/docs/LibASTMatchersTutorial.md
+290-293clang/docs/ClangOffloadBundler.md
+260-301clang/docs/ClangRepl.md
+188-208clang/docs/ClangTransformerTutorial.md
+3,487-3,60912 files not shown
+4,555-4,80418 files

LLVM/project d49d7a3clang/docs ClangOffloadBundler.md ClangRepl.md

[docs] Finish MyST migration for selected docs
DeltaFile
+88-137clang/docs/ClangOffloadBundler.md
+15-18clang/docs/ClangRepl.md
+14-14clang/docs/LibASTImporter.md
+11-11clang/docs/RAVFrontendAction.md
+4-4clang/docs/InternalsManual.md
+3-3clang/docs/LibASTMatchersTutorial.md
+135-1877 files not shown
+145-20413 files

LLVM/project 79c5cb7llvm/lib/Target/X86 X86ISelLowering.cpp

[X86] isFMAddSubOrFMSubAdd - remove unused SelectionDAG argument. NFC. (#211613)
DeltaFile
+3-4llvm/lib/Target/X86/X86ISelLowering.cpp
+3-41 files

LLVM/project bdb0fd5llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 ordered-reductions.ll extractelements-vector-ops-shuffle.ll

[SLP]Remove accidental commenting out the code

Removed the accindentally commented out code, causing regressions with
ordered reductions

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/211662
DeltaFile
+27-11llvm/test/Transforms/SLPVectorizer/X86/ordered-reductions.ll
+13-8llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
+2-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+42-213 files

LLVM/project ef17da0llvm/lib/Transforms/Vectorize SLPVectorizer.cpp, llvm/test/Transforms/SLPVectorizer/X86 ordered-reductions.ll extractelements-vector-ops-shuffle.ll

[𝘀𝗽𝗿] initial version

Created using spr 1.3.7
DeltaFile
+27-11llvm/test/Transforms/SLPVectorizer/X86/ordered-reductions.ll
+13-8llvm/test/Transforms/SLPVectorizer/X86/extractelements-vector-ops-shuffle.ll
+2-2llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+42-213 files

LLVM/project 88d625dutils/bazel/llvm-project-overlay/mlir BUILD.bazel

[Bazel] Fixes 4a6858a (#211661)

This fixes 4a6858aecce9a6a570ea12f655aa513f73ab20f6 (#210527).

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

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 c2a3cbeclang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin TestTransformation.cpp

[SSAF] Fix a stage2 test failure with ASan-instrumented clang (#211432)

ASan emits a symbol for a static global in `TestTransformation.cpp` that
causes link issues in green dragon.
Added `__attribute__((no_sanitize("address")))` to that static global to
fix the test.

rdar://182623740
DeltaFile
+3-0clang/test/Analysis/Scalable/source-edit-generation/Plugins/TestTransformationPlugin/TestTransformation.cpp
+3-01 files

LLVM/project 2422128llvm/test/CodeGen/AMDGPU maximumnum.ll minimumnum.ll

[NFC][AMDGPU] Remove unused -SDAG test suffixes from minimumnum/maximumnum (#211634)

Test checks diff is automatically generated using
`update_llc_test_checks.py`

Discussed in https://github.com/llvm/llvm-project/pull/207896
DeltaFile
+5,041-5,418llvm/test/CodeGen/AMDGPU/maximumnum.ll
+4,920-5,284llvm/test/CodeGen/AMDGPU/minimumnum.ll
+9,961-10,7022 files

LLVM/project ff2d890llvm/lib/Target/SPIRV SPIRVLegalizerInfo.cpp, llvm/test/CodeGen/SPIRV/legalization matrix-wide-vector-shader.ll vector-legalization-shader.ll

Revert "[SPIRV][Matrix] Change Matrix Shader legalization to largest common d…"

This reverts commit 36916031c97477f8d865488185cfb7da89aa5d21.
DeltaFile
+4-218llvm/lib/Target/SPIRV/SPIRVLegalizerInfo.cpp
+0-166llvm/test/CodeGen/SPIRV/legalization/matrix-wide-vector-shader.ll
+0-113llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-transpose-bool.ll
+12-10llvm/test/CodeGen/SPIRV/legalization/vector-legalization-shader.ll
+9-11llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-multiply.ll
+9-7llvm/test/CodeGen/SPIRV/llvm-intrinsics/matrix-transpose.ll
+34-5251 files not shown
+35-5317 files

LLVM/project afe3fe0llvm/lib/Transforms/Vectorize LoopVectorize.cpp

[LV] Use planner's Legal in executePlan instead of CM.Legal (NFC) (#211600)

Remove an unnecessary level of indirection.
DeltaFile
+1-1llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+1-11 files

LLVM/project 4a6858amlir/lib/Conversion/VectorToXeGPU VectorToXeGPU.cpp, mlir/test/Conversion/VectorToXeGPU transfer-read-to-xegpu.mlir transfer-write-to-xegpu.mlir

[mlir][xegpu] Support N-D block transfers in VectorToXeGPU (#210527)

Extend the vector.transfer_read/transfer_write lowerings so they can
produce N-D xegpu.load_nd/store_nd, not just 1D/2D, and relax the
out-of-bounds handling to match load_nd's implicit-zero padding.
Restructure both patterns as "block first, then scatter as  fallback.

---------

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+145-140mlir/lib/Conversion/VectorToXeGPU/VectorToXeGPU.cpp
+142-72mlir/test/Conversion/VectorToXeGPU/transfer-read-to-xegpu.mlir
+78-46mlir/test/Conversion/VectorToXeGPU/transfer-write-to-xegpu.mlir
+365-2583 files

LLVM/project b1ff288mlir/include/mlir/Dialect/OpenACC OpenACCUtilsTiling.h, mlir/lib/Dialect/OpenACC/Transforms ACCLoopTiling.cpp

[mlir][OpenACC] Emit multi-IV tile and element loops from ACCLoopTiling (#211651)

`ACCLoopTiling` used to lower an N-dimensional `tile()` clause by
*uncollapsing* the fused loop into a deep nest of single-IV `acc.loop`s
(`tile_1 → … → tile_N → elem_1 → … → elem_N`). This discards the natural
grouping of the tile clause: the 2N single-IV loops no longer express
"these are the tile iterations" and "these are the in-tile iterations"
as collapsible units, and gang/vector end up spread across a deep nest
where only the outermost loop of each group carries the attribute. This
could potentially lead to poor parallelism assignment.

With this MR:
`tileACCLoops` now rewrites the single fused `acc.loop` in-place into
exactly two multi-IV loops, each carrying all the tiled induction
variables:
- a **tile-group** loop whose steps are the original steps scaled by the
tile sizes, and
- a nested **element-group** loop that walks the iterations within one
tile, with upper bounds clamped to `min(origUB, tileStart +

    [17 lines not shown]
DeltaFile
+137-224mlir/lib/Dialect/OpenACC/Utils/OpenACCUtilsTiling.cpp
+35-190mlir/unittests/Dialect/OpenACC/OpenACCUtilsTilingTest.cpp
+28-57mlir/test/Dialect/OpenACC/acc-loop-tiling.mlir
+24-29mlir/include/mlir/Dialect/OpenACC/OpenACCUtilsTiling.h
+14-18mlir/lib/Dialect/OpenACC/Transforms/ACCLoopTiling.cpp
+23-0mlir/test/Dialect/OpenACC/acc-loop-tiling-invalid.mlir
+261-5186 files

LLVM/project fde8e81flang/test/Fir/OpenACC acc-declare-gpu-module-insertion.fir, mlir/lib/Dialect/OpenACC/Transforms ACCDeclareGPUModuleInsertion.cpp

[mlir][acc] Allow for existing declare globals in GPU module under unified memory. (#211650)

OpenACC declare globals may already exist in the GPU module from earlier
GPU lowering. Under unified memory, this pass expects those device
copies as declarations, but a pre-existing global may still have an
initializer and therefore not match.
This change adapts an otherwise equivalent existing GPU global to
declaration form and reuses it; A lit test covers a host/GPU declare
global that should be reused as a declaration in the GPU module.
DeltaFile
+29-9mlir/lib/Dialect/OpenACC/Transforms/ACCDeclareGPUModuleInsertion.cpp
+18-0flang/test/Fir/OpenACC/acc-declare-gpu-module-insertion.fir
+47-92 files

LLVM/project 581235bllvm/lib/Transforms/Scalar LICM.cpp, llvm/test/Transforms/LICM vector-insert.ll

[LICM] Allow hoisting of InsertElementInst's past non-hoistable InsertElementInsts (#211414)

When building vectors from multiple scalars in a loop, allow the
insertions using invariant data to be hoisted, even if blocked by the
variant insertions.

In the SLP vectorizer, c1b37eacbf makes the assumption that these build
vectors will properly be hoisted, when they are not leads to regressions
such as #195497.

Reland of #200532.

Assisted By: Codex

Co-authored-by: Luke Lau <luke_lau at icloud.com>
Co-authored-by: Nikita Popov <github at npopov.com>
DeltaFile
+572-0llvm/test/Transforms/LICM/vector-insert.ll
+87-0llvm/lib/Transforms/Scalar/LICM.cpp
+659-02 files

LLVM/project 2ace5adllvm/test/tools/llvm-mca/AMDGPU gfx10-trans.s gfx90a-mfma.s

AMDGPU: Migrate llvm-mca tests to subarch triples (#211477)
DeltaFile
+2-2llvm/test/tools/llvm-mca/AMDGPU/gfx10-trans.s
+1-1llvm/test/tools/llvm-mca/AMDGPU/gfx90a-mfma.s
+1-1llvm/test/tools/llvm-mca/AMDGPU/buffer-op-swz-operand.s
+1-1llvm/test/tools/llvm-mca/AMDGPU/gfx11-double.s
+1-1llvm/test/tools/llvm-mca/AMDGPU/gfx10-add-sequence.s
+1-1llvm/test/tools/llvm-mca/AMDGPU/gfx9-retireooo.s
+7-76 files not shown
+13-1312 files

LLVM/project 43bbb5bllvm/lib/Transforms/Vectorize LoopVectorize.cpp

[LV] Remove unused cost model from InnerLoopVectorizer (NFC) (#211594)

InnerLoopVectorizer stored a LoopVectorizationCostModel pointer (Cost)
but all users have been removed.
DeltaFile
+8-15llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+8-151 files

LLVM/project 1a7ece8llvm/test/MC/AMDGPU gfx7_unsupported.s gfx8_unsupported.s

AMDGPU: Mostly migrate mc tests to subarch triples (#211590)

Migrate cases by script that don't fail
DeltaFile
+864-864llvm/test/MC/AMDGPU/gfx7_unsupported.s
+614-614llvm/test/MC/AMDGPU/gfx8_unsupported.s
+223-223llvm/test/MC/AMDGPU/literals.s
+135-135llvm/test/MC/AMDGPU/vopc-vi.s
+28-28llvm/test/MC/AMDGPU/flat-scratch-st-mode.s
+24-24llvm/test/MC/AMDGPU/add-sub-no-carry.s
+1,888-1,888729 files not shown
+3,631-3,631735 files

LLVM/project 535fa57mlir/include/mlir/Dialect/GPU/Pipelines Passes.h, mlir/lib/Dialect/GPU/Pipelines GPUToXeVMPipeline.cpp CMakeLists.txt

[mlir][gpu] Add VectorToXeGPU and adjust VectorToSCF placement in XeVM pipeline (#210539)

Add convert-vector-to-xegpu (nested under gpu.module) to lower
kernel-side vector ops to XeGPU.
    
Move convert-vector-to-scf from the pre-GPU common pipeline into the
post-GPU pipeline, so host transfer ops (and any SCF the pass emits) are
lowered to loops before the vector-to-LLVM conversion.

---------

Co-authored-by: Claude Opus 4.8 <noreply at anthropic.com>
DeltaFile
+5-0mlir/include/mlir/Dialect/GPU/Pipelines/Passes.h
+3-1mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
+1-0mlir/lib/Dialect/GPU/Pipelines/CMakeLists.txt
+9-13 files

LLVM/project e2ddf43flang/lib/Semantics check-omp-structure.cpp check-omp-structure.h, llvm/include/llvm/Frontend/OpenMP OMP.td

[flang][OpenMP] Switch TableGen generation to use llvm::EnumSet

Replace the remaining uses of the common::EnumSet-based OmpClauseSet to
llvm::omp::ClauseSet.
DeltaFile
+20-19flang/lib/Semantics/check-omp-structure.cpp
+4-9flang/lib/Semantics/check-omp-structure.h
+1-1llvm/include/llvm/Frontend/OpenMP/OMP.td
+25-293 files