LLVM/project 3409f0fllvm/lib/Target/AMDGPU GCNDPPCombine.cpp, llvm/lib/Target/AMDGPU/Utils AMDGPUBaseInfo.h

[AMDGPU] Fix invalid 64-bit DPP formed from folding a 32-bit DPP mov (#222216)

GCNDPPCombine already rejects 64-bit DPP when the DPP move itself is
64-bit, but a 32-bit move folded into a source of a 64-bit instruction
was not checked. On targets without FeatureDPALU_DPP this formed
V_LSHLREV_B64_e64_dpp, whose tied old operand got the move's 32-bit
register class instead of the 64-bit destination class.
DeltaFile
+10-6llvm/test/CodeGen/AMDGPU/dpp_combine_rev_opcode.ll
+5-1llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
+1-1llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
+16-83 files

LLVM/project 8c08c14mlir/test/Dialect/Linalg transform-op-specialize-elemwise-binary.mlir

strict properties
DeltaFile
+1-1mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir
+1-11 files

LLVM/project c664d0dflang/lib/Evaluate shape.cpp

[flang] Avoid signed integer overflow in GetNonNegativeExtent (#222207)

`GetNonNegativeExtent()` computes a dimension's extent from constant
bounds as `ub - lb + 1` in `ConstantSubscript` (`int64_t`) arithmetic.
For an oversized dimension such as `integer(1) ::
a(0_8:9223372036854775807_8)`, whose extent is 2\*\*63, that computation
overflows — undefined behavior, and the ubsan failure reported in
#221940.

The wrapped result has to be preserved: storage sequences that are too
large are diagnosed later, while offsets are computed, and that code
tells a genuinely empty dimension from one whose extent wrapped around
by cross-checking the original bounds (`IsEmptyDimension()` in
`Semantics/compute-offsets.cpp`). This patch therefore computes the same
two's complement result with `llvm::SubOverflow()` and
`llvm::AddOverflow()`, which are defined for every input. Subtracting
first also covers bounds of mixed sign, where `ub - lb` can overflow
before the increment.


    [2 lines not shown]
DeltaFile
+10-1flang/lib/Evaluate/shape.cpp
+10-11 files

LLVM/project 5ff49e2mlir/include/mlir/Interfaces TilingInterface.h, mlir/lib/Dialect/SPIRV/IR CMakeLists.txt

[MLIR] Narrow generated-header prerequisites

Forward-declare IteratorType in TilingInterface.h instead of including all
structured-operation utilities. Include those utilities directly in SCF and
Tensor implementations that use their enum values and helpers, and remove
TilingInterface's dependency on the DialectUtils library.

Replace whole-library prerequisites with the specific Arith and GPU interface
generators. Drop VCIX's obsolete GPU prerequisite, and record the precise Ptr,
SPIR-V, Bufferization and Transform generators required by header consumers.

Pass Rewrite's conditional PDL links through add_mlir_library instead of
adding them afterward, so dependency and aggregation metadata see the same
links while preserving the PDL-disabled configuration.

Validate 289 TilingInterface clients without PCH, compile 13 affected source
files to objects, and compile Rewrite with PDL disabled. Configure both normal
and libMLIR-dylib builds and inspect the resulting dependency graph.

Assisted-by: Codex
DeltaFile
+10-7mlir/lib/Rewrite/CMakeLists.txt
+6-1mlir/include/mlir/Interfaces/TilingInterface.h
+4-0mlir/lib/Target/SPIRV/CMakeLists.txt
+1-1mlir/lib/Dialect/Utils/CMakeLists.txt
+1-1mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
+2-0mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
+24-108 files not shown
+33-1214 files

LLVM/project 43baeebmlir/include/mlir/Dialect/Linalg/IR LinalgNamedStructuredOps.yaml, mlir/lib/Dialect/Linalg/Transforms NamedToElementwise.cpp CategoryToNamedOp.cpp

[MLIR][Linalg] Remove ternary named op

Removes the named op `select` from the Linalg dialect.

I have also updated the ElementwiseOp builder to simplify the default
case: kind + no affine map.

Depends on both unary and binary removal branches.

Ref:
https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531
DeltaFile
+0-61mlir/lib/Dialect/Linalg/Transforms/CategoryToNamedOp.cpp
+0-57mlir/lib/Dialect/Linalg/Transforms/NamedToElementwise.cpp
+0-57mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
+0-48mlir/test/Dialect/Linalg/named-ops.mlir
+0-48mlir/test/Dialect/Linalg/named-ops-fail.mlir
+0-26mlir/test/Dialect/Linalg/generalize-named-ops.mlir
+0-2979 files not shown
+16-37315 files

LLVM/project 7cf0753mlir/lib/Dialect/Linalg/Transforms Specialize.cpp, mlir/test/Dialect/Linalg transform-op-specialize-elemwise-binary.mlir decompose-generic-by-unfolding-projected-permutation.mlir

[MLIR][Linalg] Named ops morph cleanup
DeltaFile
+96-98mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
+9-57mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
+1-1mlir/test/Dialect/Linalg/transform-op-specialize-elemwise-binary.mlir
+1-1mlir/test/Dialect/Linalg/decompose-generic-by-unfolding-projected-permutation.mlir
+107-1574 files

LLVM/project f32c015mlir/lib/Dialect/Linalg/Transforms Specialize.cpp

format
DeltaFile
+4-6mlir/lib/Dialect/Linalg/Transforms/Specialize.cpp
+4-61 files

LLVM/project 92d185fmlir/include/mlir/Dialect/Linalg/IR LinalgNamedStructuredOps.yaml, mlir/python/mlir/dialects/linalg/opdsl/ops core_named_ops.py

[MLIR][Linalg] Remove binary named ops

Remove ops, change tests to elementwise to continue working as is.

Depends on the unary removal branch.

Ref:
https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531
DeltaFile
+0-395mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
+0-272mlir/test/Dialect/Linalg/named-ops.mlir
+0-202mlir/test/Dialect/Linalg/generalize-named-ops.mlir
+0-160mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
+0-155mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
+33-105mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
+33-1,28924 files not shown
+235-1,86530 files

LLVM/project e483317llvm/lib/Target/SPIRV SPIRVLegalizeZeroSizeArrays.cpp, llvm/test/CodeGen/SPIRV legalize-zero-size-arrays-struct.ll

[SPIR-V] Fix legalization rewriting non-zero size arrays to pointers (#222276)

legalizeType checked `isa<ArrayType>` with no size guard

Use `shouldLegalizeInstType`, which already checks for zero size
DeltaFile
+6-0llvm/test/CodeGen/SPIRV/legalize-zero-size-arrays-struct.ll
+1-1llvm/lib/Target/SPIRV/SPIRVLegalizeZeroSizeArrays.cpp
+7-12 files

LLVM/project 86f1e12llvm/lib/Target/SPIRV SPIRVLegalizePointerCast.cpp, llvm/test/CodeGen/SPIRV/passes SPIRVLegalizePointerCast.ll

[SPIR-V] Fix legalized store of single element vector to vector (#222253)

A `<1 x T>` shares its SPIR-V type with the scalar T, so extracting from
it emits OpCompositeExtract on a non-composite, which is rejected by
spirv-val
DeltaFile
+10-0llvm/test/CodeGen/SPIRV/passes/SPIRVLegalizePointerCast.ll
+1-3llvm/lib/Target/SPIRV/SPIRVLegalizePointerCast.cpp
+11-32 files

LLVM/project 1c2ffa2mlir/include/mlir/Dialect/Linalg/IR LinalgNamedStructuredOps.yaml, mlir/python/mlir/dialects/linalg/opdsl/ops core_named_ops.py

[MLIR][Linalg] Remove binary named ops

Remove ops, change tests to elementwise to continue working as is.

Depends on the unary removal branch.

Ref:
https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531
DeltaFile
+0-395mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
+0-272mlir/test/Dialect/Linalg/named-ops.mlir
+0-202mlir/test/Dialect/Linalg/generalize-named-ops.mlir
+37-146mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
+0-160mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-named-ops.mlir
+0-155mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
+37-1,33024 files not shown
+239-1,93430 files

LLVM/project 757ae56mlir/lib/Conversion/ArithAndMathToAPFloat MathToAPFloat.cpp, mlir/lib/Dialect/ArmNeon/IR ArmNeonDialect.cpp

[MLIR] Remove unnecessary generated-header include dependencies (NFC) (#222349)

Remove unused dialect and transform headers, and replace broad pass
aggregates with the specific conversion headers used by GPU and
SparseTensor pipelines. Include the core pass and IR builder definitions
directly where unrelated dialect headers previously supplied them
transitively.

These include-only changes avoid unnecessary TableGen header
prerequisites without depending on changes to the CMake generated-header
dependency model.

Assisted-by: Codex
DeltaFile
+12-1mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
+5-1mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
+0-3mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
+2-1mlir/lib/Dialect/ArmNeon/IR/ArmNeonDialect.cpp
+1-1mlir/lib/Conversion/ArithAndMathToAPFloat/MathToAPFloat.cpp
+0-1mlir/test/lib/Dialect/Tosa/TosaTestPasses.cpp
+20-84 files not shown
+20-1210 files

LLVM/project 9643c6eclang CMakeLists.txt, clang/cmake/modules ClangConfig.cmake.in CMakeLists.txt

[CIR][CMake] Configure MLIR as a dependency-only project

ClangIR requires MLIR, but enabling CIR currently requires users to list MLIR
explicitly in LLVM_ENABLE_PROJECTS. That also attaches unrelated MLIR build,
install, unit-test, and lit targets to LLVM aggregates.

When Clang and CIR are selected, append MLIR to the effective project list
and mark it dependency-only. An explicit MLIR selection retains its normal
build, test, and install behavior.

Export and install only MLIR targets reachable from the Clang SDK, together
with the headers needed by those targets. Enable MLIR test-support libraries
when CIR tests need them without registering the MLIR test suite.

Keep the existing standalone ClangIR restriction, and leave MLIR disabled
when CIR is disabled.

Validation:
- Configured Clang with CIR and implicit dependency-only MLIR.

    [5 lines not shown]
DeltaFile
+34-2clang/CMakeLists.txt
+7-0llvm/CMakeLists.txt
+7-0clang/cmake/modules/CMakeLists.txt
+4-0clang/cmake/modules/ClangConfig.cmake.in
+52-24 files

LLVM/project 06ac1e8clang CMakeLists.txt, flang CMakeLists.txt

[CMake] Limit implicit Flang dependency projects

Flang automatically enables MLIR and Clang, but treating those projects as
ordinary enabled projects pulls unrelated tools and tests into aggregate
targets.

Track dependency-only projects explicitly when expanding the requested project
list. Add those projects with EXCLUDE_FROM_ALL, disable their test suites by
default, and keep forwarding only the requested roots to nested builds. Capture
the roots before creating the cache entry so parent-scoped configurations keep
working.

Compute the transitive Clang and MLIR target closure needed by Flang's installed
binaries and CMake package. Promote exactly that closure into the default build
and install it with the required headers, compiler resources, and
clang-linker-wrapper. Do not install the standalone Clang or MLIR packages.

Split MLIR test support libraries from MLIR's own test suite so Flang tests can
use them without registering MLIR tests. Explicitly listing Clang or MLIR keeps

    [3 lines not shown]
DeltaFile
+144-2llvm/cmake/modules/AddLLVM.cmake
+74-0flang/CMakeLists.txt
+14-2llvm/CMakeLists.txt
+14-0mlir/CMakeLists.txt
+9-1clang/CMakeLists.txt
+5-2mlir/cmake/modules/CMakeLists.txt
+260-77 files not shown
+291-1113 files

LLVM/project 647fffcclang/test/CodeGen/AArch64 v8.5a-neon-frint3264-intrinsic.c, clang/test/CodeGen/AArch64/neon rounding-v8.5.c intrinsics.c

[CIR][AArch64] Port f64 tests for v8.5 rounding NEON builtins (#221389)

Related to https://github.com/llvm/llvm-project/issues/185382

Port tests from
clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c to
clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
DeltaFile
+479-0clang/test/CodeGen/AArch64/neon/rounding.c
+0-472clang/test/CodeGen/AArch64/neon/intrinsics.c
+0-145clang/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.c
+132-8clang/test/CodeGen/AArch64/neon/rounding-v8.5.c
+611-6254 files

LLVM/project 49b63declang/lib/CIR/Dialect/Transforms/TargetLowering CIRABIRewriteContext.cpp, clang/test/CIR/CodeGen call-conv-lowering-x86_64-byref.cpp

[CIR] Forward a byref argument loaded from a byref parameter (#221057)

When a callee argument comes out of the calling function's own byref
parameter, that pointer already names the object its caller will
destroy, so pass it along as-is.

Assisted-by: Cursor / claude-opus-5
DeltaFile
+301-4clang/test/CIR/Transforms/abi-lowering/indirect-byref-nyi.cir
+221-0clang/test/CIR/Transforms/abi-lowering/indirect-byref-forward-param.cir
+83-38clang/lib/CIR/Dialect/Transforms/TargetLowering/CIRABIRewriteContext.cpp
+46-0clang/test/CIR/Transforms/abi-lowering/expand-struct-arg.cir
+44-0clang/test/CIR/CodeGen/call-conv-lowering-x86_64-byref.cpp
+26-0clang/test/CIR/Transforms/abi-lowering/indirect-byval.cir
+721-423 files not shown
+742-549 files

LLVM/project 39d5c62llvm/include/llvm/DebugInfo/CodeView CodeView.h SymbolRecord.h, llvm/lib/DebugInfo/CodeView EnumTables.cpp

[llvm-pdbutil] Map enums in bitflags for symbols in YAML (#215887)

Both `S_COMPILE3` and `S_FRAMEPROC` have bitflags that also contain
non-bitflag enums. For `S_COMPILE3`, the lower eight bits represent the
language and for `S_FRAMEPROC` there are bits in the middle representing
the frame pointer registers for variables and parameters.

In both cases, the values of the enums were not present in the generated
YAML.
Mapping this in YAML is a bit complicated, because we can't give
`yaml::IO` a reference to the flags. I used local variables and a check
if we're reading to re-assemble the flags.
DeltaFile
+109-0llvm/test/tools/llvm-pdbutil/compile3sym.yaml
+54-0llvm/test/tools/llvm-pdbutil/frameprocsym.yaml
+39-4llvm/include/llvm/DebugInfo/CodeView/SymbolRecord.h
+37-2llvm/lib/ObjectYAML/CodeViewYAMLSymbols.cpp
+12-0llvm/lib/DebugInfo/CodeView/EnumTables.cpp
+2-0llvm/include/llvm/DebugInfo/CodeView/CodeView.h
+253-61 files not shown
+254-67 files

LLVM/project dacf8ccllvm/lib/Transforms/Vectorize VPlanRecipes.cpp, llvm/test/Transforms/LoopVectorize/AArch64 scalar-steps-cost.ll induction-costs-sve.ll

[VPlan] Cost scalar IV steps in replicate regions. (#221995)

Replace the return 0 bail-out in VPScalarIVStepsRecipe::computeCost in
replicate regions by properly scaling by the execution probability of
the region.

PR: https://github.com/llvm/llvm-project/pull/221995
DeltaFile
+2-46llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
+9-7llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+2-2llvm/test/Transforms/LoopVectorize/X86/CostModel/store-scalarization-cost.ll
+2-2llvm/test/Transforms/LoopVectorize/AArch64/scalar-steps-cost.ll
+15-574 files

LLVM/project 3d67d91mlir/lib/Conversion/ArithAndMathToAPFloat MathToAPFloat.cpp, mlir/lib/Conversion/ArithToAMDGPU ArithToAMDGPU.cpp

[MLIR] Remove unnecessary generated-header include dependencies

Remove unused dialect and transform headers, and replace broad pass aggregates
with the specific conversion headers used by GPU and SparseTensor pipelines.
Include the core pass and IR builder definitions directly where unrelated
dialect headers previously supplied them transitively.

These include-only changes avoid unnecessary TableGen header prerequisites
without depending on changes to the CMake generated-header dependency model.

Compile all ten affected translation units with PCH disabled in a fresh build
configured from this checkout. Check compiler dependency output to confirm
the eliminated provider header families are no longer included.

Assisted-by: Codex
DeltaFile
+12-1mlir/lib/Dialect/SparseTensor/Pipelines/SparseTensorPipelines.cpp
+5-1mlir/lib/Dialect/GPU/Pipelines/GPUToXeVMPipeline.cpp
+0-3mlir/test/lib/Dialect/NVGPU/TestNVGPUTransforms.cpp
+2-1mlir/lib/Dialect/ArmNeon/IR/ArmNeonDialect.cpp
+1-1mlir/lib/Conversion/ArithAndMathToAPFloat/MathToAPFloat.cpp
+0-1mlir/lib/Conversion/ArithToAMDGPU/ArithToAMDGPU.cpp
+20-84 files not shown
+20-1210 files

LLVM/project 87af62fllvm/lib/CodeGen CodeGenPrepare.cpp, llvm/test/Transforms/CodeGenPrepare/X86 freeze-brcond.ll

[CGP] Drop poison generating flags when pushing freeze through cmp (#222314)

We need to clear the samesign flag when pushing freeze through icmp.

In the last commit, I also adjusted the handling of FMF on fcmp to work
the same way -- previously the transform would be skipped instead if the
fcmp had fast math flags. I think just clearing the poison-generating
flags is preferable (and what we'd do anyway in InstCombine and
DAGCombine).

Fixes https://github.com/llvm/llvm-project/issues/222309.
DeltaFile
+13-2llvm/test/Transforms/CodeGenPrepare/X86/freeze-brcond.ll
+2-6llvm/lib/CodeGen/CodeGenPrepare.cpp
+15-82 files

LLVM/project c5ccb05clang CMakeLists.txt, clang/cmake/modules ClangConfig.cmake.in CMakeLists.txt

[CIR][CMake] Configure MLIR as a dependency-only project

ClangIR requires MLIR, but enabling CIR currently requires users to list MLIR
explicitly in LLVM_ENABLE_PROJECTS. That also attaches unrelated MLIR build,
install, unit-test, and lit targets to LLVM aggregates.

When Clang and CIR are selected, append MLIR to the effective project list
and mark it dependency-only. An explicit MLIR selection retains its normal
build, test, and install behavior.

Export and install only MLIR targets reachable from the Clang SDK, together
with the headers needed by those targets. Enable MLIR test-support libraries
when CIR tests need them without registering the MLIR test suite.

Keep the existing standalone ClangIR restriction, and leave MLIR disabled
when CIR is disabled.

Validation:
- Configured Clang with CIR and implicit dependency-only MLIR.

    [5 lines not shown]
DeltaFile
+34-2clang/CMakeLists.txt
+16-5mlir/CMakeLists.txt
+7-0llvm/CMakeLists.txt
+7-0clang/cmake/modules/CMakeLists.txt
+4-0clang/cmake/modules/ClangConfig.cmake.in
+68-75 files

LLVM/project f3a5a64llvm/lib/Target/X86 X86InstrInfo.cpp, llvm/test/CodeGen/X86 twoaddr-lea-eflags-liveintervals.ll

X86: Remove stale EFLAGS live range when converting ADD to LEA (#222029)

convertToThreeAddress may rewrite an EFLAGS-clobbering ADD into an LEA,
which does not define EFLAGS. hasLiveCondCodeDef guarantees the EFLAGS def 
was dead, so drop its LiveIntervals value, otherwise the verifier would fail.

Fixes verifier errors with -early-live-intervals.

Co-authored-by: Claude (Claude-Opus-4.8)
DeltaFile
+257-0llvm/test/CodeGen/X86/twoaddr-lea-eflags-liveintervals.ll
+8-0llvm/lib/Target/X86/X86InstrInfo.cpp
+265-02 files

LLVM/project c34c220clang-tools-extra/docs/clang-tidy/checks/readability identifier-naming.rst identifier-naming.md, llvm/test/CodeGen/AArch64 arm64-xaluo.ll overflow-vec.ll

Merge branch 'main' into users/adams381/cir-callconv-direct-offset
DeltaFile
+5,248-0llvm/test/CodeGen/X86/active_lane_mask.ll
+4,997-0llvm/test/CodeGen/AArch64/overflow-vec.ll
+3,860-0clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.md
+1,653-1,679llvm/test/CodeGen/AArch64/arm64-xaluo.ll
+0-3,287clang-tools-extra/docs/clang-tidy/checks/readability/identifier-naming.rst
+1,004-1,744llvm/test/CodeGen/AMDGPU/fmuladd.f16.ll
+16,762-6,7103,548 files not shown
+154,524-77,3003,554 files

LLVM/project 5cc140dmlir/cmake/modules AddMLIR.cmake, mlir/docs ReleaseNotes.md

[MLIR][CMake] Remove aggregate generated-header ordering

Remove the broad mlir-headers prerequisites now that direct links and
HEADER_LIBS relationships provide generated-header ordering.

Keep own generators and intentional source-generation dependencies explicit.
Document migration options for downstream projects that relied on aggregate
ordering.

Assisted-by: Codex
Assisted-by: Claude Code
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>
DeltaFile
+0-32mlir/lib/CAPI/Dialect/CMakeLists.txt
+11-0mlir/docs/ReleaseNotes.md
+0-9mlir/lib/Dialect/OpenACC/Utils/CMakeLists.txt
+4-4mlir/cmake/modules/AddMLIR.cmake
+0-6mlir/lib/Dialect/OpenACC/Transforms/CMakeLists.txt
+0-6mlir/lib/Dialect/LLVMIR/CMakeLists.txt
+15-57123 files not shown
+16-386129 files

LLVM/project c428e15llvm/cmake/modules TableGen.cmake AddLLVM.cmake, llvm/test lit.site.cfg.py.in

[CMake] Propagate generated-header prerequisites through link dependencies

The goal is to simplify and make more robust the handling of generated-header
(TableGen) dependencies. Today these dependencies are managed manually, which
is fragile: missing edges often surface only in parallel builds, and sometimes
in incremental builds.

Record each llvm_add_library DEPENDS list independently from the cumulative
LLVM_COMMON_DEPENDS value, and mark public TableGen targets as generated-header
prerequisites. A deferred traversal follows every direct non-INTERFACE link and
transitive link interface, resolves aliases, and conservatively extracts target
candidates from generator expressions.

Represent generated-header prerequisites with internal INTERFACE libraries.
Let CMake propagate their utility dependencies through the header graph, and
reuse each provider's interface to handle cycles without computing closures.
Disabled generator-expression arms may generate extra headers, but cannot
introduce a provider library or object cycle.


    [10 lines not shown]
DeltaFile
+151-14llvm/cmake/modules/AddLLVM.cmake
+80-0llvm/test/CMake/generated-header-dependencies.test
+6-0llvm/cmake/modules/TableGen.cmake
+2-0llvm/test/lit.site.cfg.py.in
+2-0llvm/test/CMake/lit.local.cfg
+241-145 files

LLVM/project 9ee6e55mlir/cmake/modules AddMLIR.cmake, mlir/docs CMakeInfrastructure.md

[MLIR][CMake] Add HEADER_LIBS and document CMake infrastructure

Add HEADER_LIBS as a flat list of literal library targets for generated headers
included without a link relationship. Resolve aliases and forward references,
accept imported libraries as already generated, follow nested HEADER_LIBS and
link interfaces, and reject missing, executable, utility, or generator-
expression entries with configure-time diagnostics. Represent header-only
edges in the common internal INTERFACE graph, including cyclic relationships.

Record links added by mlir_target_link_libraries for the same deferred ordering.
Add explicit, commented HEADER_LIBS edges for every audited header-only include
that is not covered by mlir-generic-headers, and keep this facility a rare
layering escape hatch.

Document dialects, interfaces, passes, PDLL, generated documentation, library
visibility, C API aggregation, tools, exports, standalone consumers, and the
generated-file model. Add a CMake fixture covering cycles, aliases, conditions,
LINK_ONLY, imported and ignored items, post-hoc links, and invalid providers.
Build each consumer independently from a clean state to verify transitive

    [5 lines not shown]
DeltaFile
+343-0mlir/docs/CMakeInfrastructure.md
+192-0mlir/test/CMake/header-dependencies.test
+110-1mlir/cmake/modules/AddMLIR.cmake
+16-0mlir/lib/Dialect/LLVMIR/CMakeLists.txt
+8-3mlir/lib/Dialect/Shape/Transforms/CMakeLists.txt
+8-0mlir/lib/Interfaces/CMakeLists.txt
+677-426 files not shown
+793-732 files

LLVM/project be867f9mlir/test/Dialect/Linalg specialize-generic-ops.mlir linalg-morph-elementwise-to-named.mlir

Revert spurious operation type changes
DeltaFile
+4-4mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
+6-0mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
+2-2mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
+2-2mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
+14-84 files

LLVM/project 2d468cemlir/test/Dialect/Linalg linalg-morph-elementwise-to-named.mlir roundtrip-morphism-linalg-category-ops.mlir, mlir/test/Interfaces/TilingInterface tile-and-fuse-consumer.mlir

[MLIR][Linalg] Remove unary named ops

Remove ops, change tests to elementwise to continue working as is.

Ref:
https://discourse.llvm.org/t/rfc-update-semantics-of-linalg-named-operations-unary-binary-ternary/91531
DeltaFile
+43-6mlir/test/Dialect/Linalg/specialize-generic-ops.mlir
+27-0mlir/test/Dialect/Linalg/transform-op-fuse.mlir
+4-4mlir/test/Dialect/Linalg/transform-op-fuse-into-containing.mlir
+0-6mlir/test/Dialect/Linalg/roundtrip-morphism-linalg-category-ops.mlir
+2-2mlir/test/Dialect/Linalg/linalg-morph-elementwise-to-named.mlir
+1-0mlir/test/Interfaces/TilingInterface/tile-and-fuse-consumer.mlir
+77-186 files

LLVM/project b6d2436llvm/test/tools/gold/X86 multiple-sections.ll

[gold] Don't hardcode section index in test (#222339)

This can either be 1 or 2 depending on whether binutils was
compiled with --enable-rosegment=yes. The test does not care
about the index (only the address), so make it a wildcard.
DeltaFile
+3-3llvm/test/tools/gold/X86/multiple-sections.ll
+3-31 files

LLVM/project bf5bef4openmp/runtime/src CMakeLists.txt

[openmp] - Remove hwloc INSTALL_INTERFACE on omp target (#218923)

Reasons for removal:
1. hwloc is not present in installed headers, therefore a consumer of
openmp does not need hwloc
2. There is no omp target exported currently, which means
INSTALL_INTERFACE is ignored.
3. If there is a future omp target exported then there is a possible
relocation issue if LIBOMP_HWLOC_INCLUDE_DIR differs in build
environment vs end user's environment.

We need to keep BUILD_INTERFACE for unit testing and ompd build.

Originally introduced in https://reviews.llvm.org/D123888
DeltaFile
+2-4openmp/runtime/src/CMakeLists.txt
+2-41 files