[all-commits] [llvm/llvm-project] 7df7df: [MLIR][CMake] Add HEADER_LIBS and document CMake i...

Mehdi Amini via All-commits all-commits at lists.llvm.org
Wed Sep 9 15:27:53 PDT 2026


  Branch: refs/heads/users/mamini/mlir-generated-header-deps-rework-3-header-libs
  Home:   https://github.com/llvm/llvm-project
  Commit: 7df7df21f63fd868fae3f2eff1be4ceda9bc7a92
      https://github.com/llvm/llvm-project/commit/7df7df21f63fd868fae3f2eff1be4ceda9bc7a92
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2026-09-09 (Wed, 09 Sep 2026)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake
    M mlir/cmake/modules/AddMLIR.cmake
    A mlir/docs/CMakeInfrastructure.md
    M mlir/docs/DefiningDialects/AttributesAndTypes.md
    M mlir/lib/Conversion/SPIRVCommon/CMakeLists.txt
    M mlir/lib/Dialect/Arith/IR/CMakeLists.txt
    M mlir/lib/Dialect/Func/IR/CMakeLists.txt
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    M mlir/lib/Dialect/Linalg/IR/CMakeLists.txt
    M mlir/lib/Dialect/Shape/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Tensor/IR/CMakeLists.txt
    M mlir/lib/Dialect/Tosa/CMakeLists.txt
    M mlir/lib/Rewrite/CMakeLists.txt
    M mlir/lib/Target/SPIRV/CMakeLists.txt
    A mlir/test/CMake/header-dependencies.test
    A mlir/test/CMake/lit.local.cfg

  Log Message:
  -----------
  [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
generated-header ordering without unrelated generators masking missing edges.

Assisted-by: Codex
Assisted-by: Claude Code
Co-Authored-By: Claude Fable 5.1 <noreply at anthropic.com>



To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list