LLVM/project 1d67db7flang/test/Lower/OpenMP target_cpu_features.f90

Update features test for flang
DeltaFile
+1-1flang/test/Lower/OpenMP/target_cpu_features.f90
+1-11 files

LLVM/project ec5a61alld/MachO Options.td InputFiles.cpp, lld/docs ReleaseNotes.md

[lld][MachO] Add `--warn-missing-subsections-via-symbols` flag (#221464)

This change introduces:

* `--warn-missing-subsections-via-symbols`: Warns when an input object
file with non-empty sections is missing `MH_SUBSECTIONS_VIA_SYMBOLS`.
* `--no-warn-missing-subsections-via-symbols`: Disables the warning
(default).

Also adds documentation and lit tests.

Object files missing `MH_SUBSECTIONS_VIA_SYMBOLS` can prevent
dead-stripping and subsection splitting.

We have seen a number of cases where we are compiling assembly, and this
allows us to track them down.
DeltaFile
+34-0lld/docs/MachO/ld64-vs-lld.md
+33-0lld/test/MachO/warn-missing-subsections-via-symbols.s
+5-0lld/docs/ReleaseNotes.md
+3-0lld/MachO/Options.td
+3-0lld/MachO/InputFiles.cpp
+3-0lld/MachO/Driver.cpp
+81-01 files not shown
+82-07 files

LLVM/project 8c05a11mlir/include/mlir/IR OperationSupport.h, mlir/lib/IR MLIRContext.cpp

[mlir] Outline registered operation-model allocation (NFC) (#222803)

Allocate operation-model storage through an out-of-line helper so every
registration TU does not instantiate the allocation machinery.

Across three controlled -j16 rebuilds of 44 registration TUs, median
instructions fell from 2.284T to 2.202T (-3.594%) and median wall time
fell from 40.44s to 38.54s (-4.698%).

Assisted-by: Codex
DeltaFile
+8-1mlir/include/mlir/IR/OperationSupport.h
+4-0mlir/lib/IR/MLIRContext.cpp
+12-12 files

LLVM/project b460d0cmlir/include/mlir/Dialect/LLVMIR ROCDLTargetInfo.h, mlir/lib/Dialect/GPU/Pipelines GPUToROCDLPipeline.cpp

[mlir][AMDGPU] Take an `arch` target ID instead of triple/chip/features

`features` was a general `-mattr` string, which needed a general feature
parser and let callers ask for arbitrary combinations we have no interest
in supporting. In practice the only things anyone sets are the wavefront
size and the xnack/sramecc settings that come off a device query.

Replace `triple`, `chip` and `features` with a single `arch` option that
names the target the way Clang does, parsed by `llvm::AMDGPU::TargetID`
rather than by hand. It accepts

  - a processor, with optional target-ID modifiers: `gfx942`,
    `gfx942:xnack+`, `gfx9-4-generic`;
  - a triple: `amdgpu9.42-amd-amdhsa`;
  - a full target ID: `amdcgn-amd-amdhsa--gfx90a:sramecc+:xnack-`, which
    is what `rocminfo` prints for a device's ISA, so that output can be
    pasted straight in.

Since `chipset=gfx942` becomes `arch=gfx942`, migration is a rename.

    [22 lines not shown]
DeltaFile
+103-68mlir/lib/Dialect/LLVMIR/IR/ROCDLTargetInfo.cpp
+107-38mlir/unittests/Dialect/LLVMIR/ROCDLTargetInfoTest.cpp
+108-4mlir/lib/Dialect/GPU/Transforms/ROCDLAttachTarget.cpp
+98-0mlir/test/Dialect/LLVMIR/rocdl-attach-target-arch.mlir
+62-7mlir/include/mlir/Dialect/LLVMIR/ROCDLTargetInfo.h
+5-32mlir/lib/Dialect/GPU/Pipelines/GPUToROCDLPipeline.cpp
+483-14993 files not shown
+719-39799 files

LLVM/project c1377bdmlir/docs ReleaseNotes.md, mlir/include/mlir/Dialect/LLVMIR ROCDLTargetInfo.h

[mlir][ROCDL] Carry `arch`'s xnack/sramecc onto the module

`rocdl-attach-target` rejected a target ID that pinned xnack or sramecc,
because `#rocdl.target` feeds a TargetMachine and the backend no longer
accepts those two as subtarget features. Now that the module attributes
exist, migrate them instead of refusing: `TargetInfo` gains
`migrateArchFeaturesToModuleFlags`, which records the settings the target
ID pinned as `rocdl.xnack` / `rocdl.sramecc` on a module, and
`rocdl-attach-target` calls it on each module it attaches to.

A setting the target ID leaves open, or that the GPU does not support, is
left alone rather than written as false: an absent flag means "either",
so writing false would be a different request. That also means an
attribute already on the module survives an `arch` that says nothing
about the feature, while an `arch` that does pin it wins as the more
specific request.
DeltaFile
+55-0mlir/unittests/Dialect/LLVMIR/ROCDLTargetInfoTest.cpp
+6-27mlir/lib/Dialect/GPU/Transforms/ROCDLAttachTarget.cpp
+17-10mlir/test/Dialect/LLVMIR/rocdl-attach-target-arch.mlir
+22-0mlir/lib/Dialect/LLVMIR/IR/ROCDLTargetInfo.cpp
+13-0mlir/include/mlir/Dialect/LLVMIR/ROCDLTargetInfo.h
+8-1mlir/docs/ReleaseNotes.md
+121-381 files not shown
+123-397 files

LLVM/project 3761d4dmlir/include/mlir/Conversion Passes.td, mlir/include/mlir/Dialect/LLVMIR ROCDLTargetInfo.h

[mlir][AMDGPU] Keep `chipset` as a deprecated alias for `arch`

Renaming the option meant every existing invocation of these passes had
to be updated in lockstep. Accept the old spelling instead: `chipset` on
`convert-amdgpu-to-rocdl`, `convert-gpu-to-rocdl`, `convert-arith-to-amdgpu`,
`convert-math-to-rocdl` and `amdgpu-emulate-atomics`, and `chip` on
`gpu-lower-to-rocdl-pipeline`, which is what each of them was called
before the rename.

`arch` wins whenever it names a target; the alias is consulted only when
`arch` is still at the sentinel that means "no target given", so with
neither given the error still names the unusable default rather than an
empty string, and a stale alias value is reported as itself.
DeltaFile
+27-0mlir/test/Conversion/ArithToAMDGPU/deprecated-chipset-alias.mlir
+22-0mlir/unittests/Dialect/LLVMIR/ROCDLTargetInfoTest.cpp
+6-3mlir/lib/Dialect/GPU/Pipelines/GPUToROCDLPipeline.cpp
+8-0mlir/include/mlir/Conversion/Passes.td
+7-0mlir/lib/Dialect/LLVMIR/IR/ROCDLTargetInfo.cpp
+6-0mlir/include/mlir/Dialect/LLVMIR/ROCDLTargetInfo.h
+76-39 files not shown
+96-1115 files

LLVM/project 5b2b0c0mlir/include/mlir/Dialect/LLVMIR ROCDLTargetInfo.h, mlir/lib/Conversion/AMDGPUToROCDL AMDGPUToROCDL.cpp

[mlir] Migrate AMDGPU/ROCDL to targets, not chipset versions

**migration tl;dr:** `chipset=` becomes `triple=`, migrate off of
`amdgpu::Chipset` to `ROCDL::TargetInfo`, and eventually change
`gfxXYZ` to `amdgpuX.YZ-amd-amdhsa` in that `triple` argument.

`amdgpu::Chipset` was an awkward hack that was hard to keep up to date
with changes in the compiler/new architectures, and didn't properly
support generic targets (and has been strongly disfavored by the
compiler team).

This PR replaces `amdgpu::Chipset` with `ROCDL::TargetInfo`, a
structure that uses LLVM's TargetParser and the underlying LLVM
features tables to get the real nature of the target being compiled
for.

This also helps MLIR move to
new-style (`-mtriple=amdgpuX.YZ-amd-amdhsa`) over "old
style" (`-mtriple=amdgcn-amd-amdhsa -mcpu=gfxXYZ`) triples.

    [40 lines not shown]
DeltaFile
+314-323mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
+246-0mlir/unittests/Dialect/LLVMIR/ROCDLTargetInfoTest.cpp
+178-0mlir/lib/Dialect/LLVMIR/IR/ROCDLTargetInfo.cpp
+119-0mlir/include/mlir/Dialect/LLVMIR/ROCDLTargetInfo.h
+45-40mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
+49-24mlir/test/Dialect/AMDGPU/amdgpu-emulate-atomics.mlir
+951-387103 files not shown
+1,505-711109 files

LLVM/project 88eae6amlir/test/Conversion/AMDGPUToROCDL permlane.mlir mfma-gfx950.mlir, mlir/test/Dialect/AMDGPU amdgpu-emulate-atomics.mlir

[mlir][AMDGPU][NFC] Pre-commit tests for incorrect version checks

There'll be a refactoring from `amdgpu::Chipset` to
`ROCDL::TargetInfo`, thus also moving from chip version checks to
features checks. This commit adds tests for incorrect lowerings that
were allowed by the current code.

- gfx90c is >= gfx90a but stil needs atomic emulation (it doesn't
  have buffer fmax and so on).
- gfx90c is also >= gfx90a but has no barrier back-off, so it needs
  the inline asm workaround around `s_barrier` that it isn't getting
- gfx908 doesn't have a packed fp16 atomic add but we thought it did
- gfx950 is mistakenly allowing xf32 MFMAs
- gfx1200 is allowing permlane_swap instructions that it doesn't have
- gfx11.7 should be allowing OCP FP8 conversions but isn't on the list

This also cleans up some redundant tests with a --check-prefixes

AI disclosure: Claude found these and wrote the tests.

    [2 lines not shown]
DeltaFile
+36-33mlir/test/Dialect/AMDGPU/amdgpu-emulate-atomics.mlir
+28-0mlir/test/Conversion/AMDGPUToROCDL/8-bit-floats-ocp-gfx1170.mlir
+15-0mlir/test/Conversion/AMDGPUToROCDL/lds-barrier-gfx90c.mlir
+14-0mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
+4-0mlir/test/Conversion/AMDGPUToROCDL/permlane.mlir
+97-335 files

LLVM/project 80d1325mlir/lib/Dialect/LLVMIR/IR ROCDLDialect.cpp, mlir/test/Dialect/LLVMIR rocdl.mlir

Fix names up a bit
DeltaFile
+4-4mlir/test/Dialect/LLVMIR/rocdl.mlir
+3-4mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
+7-82 files

LLVM/project 6307fedmlir/include/mlir/Dialect/LLVMIR ROCDLDialect.td, mlir/lib/Dialect/LLVMIR/IR ROCDLDialect.cpp

[mlir][ROCDL] Add `rocdl.xnack` and `rocdl.sramecc` module attributes

Since 27eeb7370281, the AMDGPU backend takes the xnack
and sramecc target-ID settings from the `amdgpu.xnack` and
`amdgpu.sramecc` module flags instead subtarget features, making the
old usage a hard error.

This commit adds `rocdl.xnack` and `rocdl.sramecc` module attributes
to the discardable attribute list the ROCDL dialect defines in order
to represent these flags and adds translations for them.

Omitting them means to leave these modifiers at
their default "either" state, which isn't the same as setting them to
false.

AI disclosure: Claude wrote this code and I reviewed it and tried to
reword the comments to something better.
DeltaFile
+38-0mlir/test/Dialect/LLVMIR/rocdl.mlir
+29-0mlir/test/Target/LLVMIR/rocdl-module-flags.mlir
+18-0mlir/lib/Target/LLVMIR/Dialect/ROCDL/ROCDLToLLVMIRTranslation.cpp
+13-0mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.td
+10-0mlir/lib/Dialect/LLVMIR/IR/ROCDLDialect.cpp
+108-05 files

LLVM/project a124d77llvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/Target/AMDGPU AMDGPU.td

[AMDGPU] Expose buffer resource num_records width in TargetParser

This also fixes the conflict in gfx12.

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+13-0llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+6-0llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+2-1llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+1-1llvm/lib/Target/AMDGPU/AMDGPU.td
+22-24 files

LLVM/project 759e075llvm/test/TableGen AMDGPUTargetDefSubArchSpelling.td

[AMDGPU][NFC] Account for the LDS bank count column in the GPU table test

AMDGPUTargetDefSubArchSpelling.td spells out every column of the emitted
GPUInfo rows, so it has to be updated whenever one is added. The
num_records width and getLDSBankCount landed independently, and each
CHECK line only grew by one, leaving them a column short.

Co-Authored-By: Claude Opus 5 (1M context) <noreply at anthropic.com>
DeltaFile
+3-3llvm/test/TableGen/AMDGPUTargetDefSubArchSpelling.td
+3-31 files

LLVM/project 4b63efallvm/include/llvm/TargetParser AMDGPUTargetParser.h, llvm/lib/TargetParser AMDGPUTargetParser.cpp

Review feedback
DeltaFile
+38-0llvm/unittests/TargetParser/TargetParserTest.cpp
+2-2llvm/include/llvm/TargetParser/AMDGPUTargetParser.h
+1-1llvm/utils/TableGen/Basic/AMDGPUTargetDefEmitter.cpp
+1-1llvm/lib/TargetParser/AMDGPUTargetParser.cpp
+42-44 files

LLVM/project f08ece1mlir/include/mlir/IR OpDefinition.h

[mlir] Use pointers for static operation hooks (NFC)

Return raw function pointers from static operation-hook accessors to avoid
instantiating unique-function construction machinery for every operation.

Across three controlled -j16 rebuilds of 44 registration TUs, median
instructions fell from 2.284T to 2.201T (-3.646%) and median wall time fell
from 41.04s to 38.80s (-5.458%).

Assisted-by: Codex
DeltaFile
+14-12mlir/include/mlir/IR/OpDefinition.h
+14-121 files

LLVM/project a1cd841clang/lib/CodeGen QualTypeMapper.cpp, clang/unittests/CodeGen QualTypeMapperTest.cpp

[LLVMABI] Add support for SVE types in the LLVM ABI library (#221375)

This change extends the LLVM ABI library's VectorType to be able to
describe SVE types and updates Clang's QualTypeMapper to map them.

The AArch64 target info class in the ABI library is still a work in
progress. It will continue to report "not yet implemented" for function
signatures involving SVE types. This change is a neceasary prerequisite
for correctly handling them or correctly deferring handling of these
specific types.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+295-0clang/unittests/CodeGen/QualTypeMapperTest.cpp
+96-9llvm/include/llvm/ABI/Types.h
+100-0llvm/unittests/ABI/IRTypeMapperTest.cpp
+81-4clang/lib/CodeGen/QualTypeMapper.cpp
+81-0llvm/unittests/ABI/TypesTest.cpp
+12-0llvm/lib/ABI/IRTypeMapper.cpp
+665-136 files not shown
+675-1312 files

LLVM/project 7533152mlir/include/mlir/IR OperationSupport.h, mlir/lib/IR MLIRContext.cpp

[mlir] Outline registered operation-model allocation (NFC)

Allocate operation-model storage through an out-of-line helper so every
registration TU does not instantiate the allocation machinery.

Across three controlled -j16 rebuilds of 44 registration TUs, median
instructions fell from 2.284T to 2.202T (-3.594%) and median wall time fell
from 40.44s to 38.54s (-4.698%).

Assisted-by: Codex
DeltaFile
+8-1mlir/include/mlir/IR/OperationSupport.h
+4-0mlir/lib/IR/MLIRContext.cpp
+12-12 files

LLVM/project b398c6eflang/docs/MeetingNotes/2026 2026-09-09.md, libc/hdr sys_file_macros.h

Merge branch 'main' into users/rampitec/block16-strict-disable
DeltaFile
+86-0flang/docs/MeetingNotes/2026/2026-09-09.md
+69-0libc/test/src/sys/file/linux/flock_test.cpp
+33-0libc/src/__support/OSUtil/linux/syscall_wrappers/flock.h
+32-0libc/src/sys/file/linux/flock.cpp
+27-0libc/hdr/sys_file_macros.h
+25-0libc/src/sys/file/flock.h
+272-0129 files not shown
+761-158135 files

LLVM/project 5d1b409mlir/include/mlir/Dialect/MemRef/IR MemRef.h MemRefDialect.h, mlir/lib RegisterAllDialects.cpp

[mlir][MemRef] Split the dialect declaration to improve build time (NFC) (#222801)

Introduce a self-contained dialect declaration and use it in thirteen
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 296.237B to 278.383B (-6.027%) and median wall
time fell from 47.57s to 44.50s (-6.454%).

Assisted-by: Codex
DeltaFile
+16-0mlir/include/mlir/Dialect/MemRef/IR/MemRefDialect.h
+1-7mlir/include/mlir/Dialect/MemRef/IR/MemRef.h
+1-1mlir/test/lib/Dialect/Affine/TestAffineDataCopy.cpp
+1-1mlir/lib/RegisterAllDialects.cpp
+1-1mlir/lib/Conversion/SCFToGPU/SCFToGPU.cpp
+1-1mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitCPass.cpp
+21-119 files not shown
+30-2015 files

LLVM/project a1e8420utils/bazel/llvm-project-overlay/libc/test/UnitTest BUILD.bazel

[Bazel] Fixes f1706d3 (#222779)

This fixes f1706d38f8271adfc5105ddf9b2dcc1573ebfa85 (#222744).

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

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

LLVM/project 56a97c5mlir/examples/transform/Ch2/lib MyExtension.cpp, mlir/examples/transform/Ch3/lib MyExtension.cpp

[mlir][SCF] Split the dialect declaration (NFC)

Introduce a self-contained dialect declaration and use it in nine configured
consumers that do not need the generated operation umbrella.

Across three controlled -j16 rebuilds of the affected TUs, median instructions
fell from 162.029B to 150.032B (-7.404%) and median wall time fell from 8.82s
to 8.73s (-1.020%).

Assisted-by: Codex
DeltaFile
+16-0mlir/include/mlir/Dialect/SCF/IR/SCFDialect.h
+1-2mlir/include/mlir/Dialect/SCF/IR/SCF.h
+1-1mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
+1-1mlir/lib/CAPI/Dialect/SCF.cpp
+1-1mlir/examples/transform/Ch3/lib/MyExtension.cpp
+1-1mlir/examples/transform/Ch2/lib/MyExtension.cpp
+21-65 files not shown
+26-1111 files

LLVM/project 3d847b8flang/docs/MeetingNotes/2026 2026-09-09.md

[flang] Add notes for Sept. 9 Flang Community Call (#222436)

Co-authored-by: Eugene Epshteyn <eepshteyn at nvidia.com>
DeltaFile
+86-0flang/docs/MeetingNotes/2026/2026-09-09.md
+86-01 files

LLVM/project e3f0fe7mlir/include/mlir/IR OperationSupport.h, mlir/lib/IR MLIRContext.cpp

[mlir] Outline registered operation-model allocation (NFC)

Allocate operation-model storage through an out-of-line owner so every
registration TU does not instantiate the allocation and deletion machinery.

Across three controlled -j16 rebuilds of 44 registration TUs, median
instructions fell from 2.284T to 2.203T (-3.519%) and median wall time fell
from 40.60s to 38.53s (-5.099%).

Assisted-by: Codex
DeltaFile
+24-1mlir/include/mlir/IR/OperationSupport.h
+7-0mlir/lib/IR/MLIRContext.cpp
+31-12 files

LLVM/project b570e2amlir/include/mlir/Dialect/Vector/IR VectorOps.h VectorDialect.h, mlir/lib/CAPI/Dialect Vector.cpp

[mlir][Vector] Split the dialect declaration to improve build time (NFC) (#222799)

Introduce a self-contained dialect declaration and use it in ten
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 209.277B to 192.946B (-7.804%) and median wall
time fell from 31.94s to 29.26s (-8.391%).

Assisted-by: Codex
DeltaFile
+16-0mlir/include/mlir/Dialect/Vector/IR/VectorDialect.h
+1-3mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
+1-1mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
+1-1mlir/lib/Dialect/Affine/TransformOps/AffineTransformOps.cpp
+1-1mlir/lib/Conversion/MathToNVVM/MathToNVVM.cpp
+1-1mlir/lib/CAPI/Dialect/Vector.cpp
+21-76 files not shown
+27-1312 files

LLVM/project b89aa04mlir/include/mlir/Dialect/GPU/IR GPUDialect.h GPUDialectDecl.h, mlir/lib/Dialect/Linalg/TransformOps DialectExtension.cpp

[mlir][GPU] Split the dialect declaration to improve build time (NFC) (#222798)

Introduce a self-contained dialect declaration and use it in two
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 82.473B to 75.865B (-8.012%) and median wall time
fell from 12.51s to 11.34s (-9.353%).

Assisted-by: Codex
DeltaFile
+23-0mlir/include/mlir/Dialect/GPU/IR/GPUDialectDecl.h
+1-5mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
+1-1mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
+1-1mlir/lib/Dialect/Linalg/TransformOps/DialectExtension.cpp
+26-74 files

LLVM/project a34fddfmlir/include/mlir/Dialect/LLVMIR ROCDLDialect.h ROCDLDialectDecl.h, mlir/lib RegisterAllDialects.cpp

[mlir][ROCDL] Split the dialect declaration to improve build time (NFC) (#222794)

Introduce a self-contained dialect declaration and use it in three
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 129.372B to 111.587B (-13.748%) and median wall
time fell from 20.62s to 17.72s (-14.064%).

Assisted-by: Codex
DeltaFile
+17-0mlir/include/mlir/Dialect/LLVMIR/ROCDLDialectDecl.h
+1-3mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
+1-1mlir/test/lib/Dialect/GPU/TestGpuRewrite.cpp
+1-1mlir/lib/RegisterAllDialects.cpp
+1-1mlir/lib/CAPI/Dialect/ROCDL.cpp
+21-65 files

LLVM/project 51d2e2emlir/include/mlir/Dialect/MemRef/IR MemRef.h MemRefDialect.h, mlir/test/lib/Dialect/OpenACC TestRecipePopulate.cpp

[mlir][MemRef] Split the dialect declaration (NFC)

Introduce a self-contained dialect declaration and use it in thirteen consumers
that need registration but not the generated operation umbrella.

Across three controlled rebuilds of the affected TUs, median instructions fell
from 296.237B to 278.383B (-6.027%) and median wall time fell from 47.57s to
44.50s (-6.454%).

Assisted-by: Codex
DeltaFile
+16-0mlir/include/mlir/Dialect/MemRef/IR/MemRefDialect.h
+1-7mlir/include/mlir/Dialect/MemRef/IR/MemRef.h
+1-1mlir/unittests/Dialect/OpenACC/OpenACCUtilsTilingTest.cpp
+1-1mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
+1-1mlir/unittests/Dialect/OpenACC/OpenACCUtilsCGTest.cpp
+1-1mlir/test/lib/Dialect/OpenACC/TestRecipePopulate.cpp
+21-119 files not shown
+30-2015 files

LLVM/project d9fd8cemlir/include/mlir/Dialect/Linalg/IR Linalg.h LinalgDialect.h, mlir/lib RegisterAllDialects.cpp

[mlir][Linalg] Split the dialect declaration to improve build time (NFC) (#222795)

Introduce a self-contained dialect declaration and use it in five
consumers that need registration but not the generated operation
umbrella.

Across three controlled rebuilds of the affected TUs, median
instructions fell from 130.162B to 114.154B (-12.298%) and median wall
time fell from 20.30s to 17.85s (-12.069%).

Assisted-by: Codex
DeltaFile
+23-0mlir/include/mlir/Dialect/Linalg/IR/LinalgDialect.h
+1-7mlir/include/mlir/Dialect/Linalg/IR/Linalg.h
+1-1mlir/test/lib/Dialect/Tensor/TestTensorTransforms.cpp
+1-1mlir/lib/RegisterAllDialects.cpp
+1-1mlir/lib/Conversion/TosaToLinalg/TosaToLinalgPass.cpp
+1-1mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamedPass.cpp
+28-111 files not shown
+29-127 files

LLVM/project 65b48e4mlir/include/mlir/Dialect/Affine/IR AffineOps.h AffineDialect.h, mlir/test/lib/Dialect/MemRef TestMultiBuffer.cpp TestEmulateNarrowType.cpp

[mlir][Affine] Split out the dialect declaration to improve build time (NFC) (#222766)

Move AffineDialect to a self-contained declaration header and narrow 23
callers that only register or reference the dialect class.

Median instructions fell from 700.601B to 681.315B (-2.753%) and wall
time from 107.36s to 104.17s (-2.971%).

Assisted-by: Codex
DeltaFile
+16-0mlir/include/mlir/Dialect/Affine/IR/AffineDialect.h
+1-2mlir/include/mlir/Dialect/Affine/IR/AffineOps.h
+1-1mlir/unittests/Dialect/OpenACC/OpenACCUtilsLoopTest.cpp
+1-1mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
+1-1mlir/test/lib/Dialect/MemRef/TestMultiBuffer.cpp
+1-1mlir/test/lib/Dialect/MemRef/TestEmulateNarrowType.cpp
+21-619 files not shown
+40-2525 files

LLVM/project 9efa939mlir/include/mlir/Dialect/Vector/IR VectorOps.h VectorDialect.h, mlir/test/lib/Conversion/VectorToSPIRV TestVectorReductionToSPIRVDotProd.cpp

[mlir][Vector] Split the dialect declaration (NFC)

Introduce a self-contained dialect declaration and use it in ten consumers
that need registration but not the generated operation umbrella.

Across three controlled rebuilds of the affected TUs, median instructions fell
from 209.277B to 192.946B (-7.804%) and median wall time fell from 31.94s to
29.26s (-8.391%).

Assisted-by: Codex
DeltaFile
+16-0mlir/include/mlir/Dialect/Vector/IR/VectorDialect.h
+1-3mlir/include/mlir/Dialect/Vector/IR/VectorOps.h
+1-1mlir/test/lib/Dialect/Math/TestPolynomialApproximation.cpp
+1-1mlir/test/lib/Dialect/Math/TestAlgebraicSimplification.cpp
+1-1mlir/test/lib/Dialect/Arith/TestEmulateWideInt.cpp
+1-1mlir/test/lib/Conversion/VectorToSPIRV/TestVectorReductionToSPIRVDotProd.cpp
+21-76 files not shown
+27-1312 files

LLVM/project 9c3eadeclang/include/clang/CIR/Dialect/IR CIRTypes.td, clang/lib/CIR/Dialect/IR CIRTypes.cpp

[CIR][NFC] Put the single-field precondition in the query name

Assisted-by: Cursor / claude-opus-5
DeltaFile
+2-1clang/lib/CIR/Dialect/Transforms/CallConvLoweringPass.cpp
+1-1clang/lib/CIR/Dialect/IR/CIRTypes.cpp
+1-1clang/include/clang/CIR/Dialect/IR/CIRTypes.td
+4-33 files