[all-commits] [llvm/llvm-project] ace42c: [mlir][core] Move `InitAll***` implementation into...

Ivan Butygin via All-commits all-commits at lists.llvm.org
Tue Jul 29 03:22:15 PDT 2025


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: ace42cf063a52d097f505b7d9afeb53d02bc04db
      https://github.com/llvm/llvm-project/commit/ace42cf063a52d097f505b7d9afeb53d02bc04db
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2025-07-29 (Tue, 29 Jul 2025)

  Changed paths:
    M clang/tools/cir-lsp-server/CMakeLists.txt
    M clang/tools/cir-opt/cir-opt.cpp
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/lib/Optimizer/Support/CMakeLists.txt
    M mlir/examples/standalone/standalone-opt/CMakeLists.txt
    M mlir/examples/standalone/standalone-opt/standalone-opt.cpp
    M mlir/examples/toy/Ch5/CMakeLists.txt
    M mlir/examples/toy/Ch5/toyc.cpp
    M mlir/examples/toy/Ch6/CMakeLists.txt
    M mlir/examples/toy/Ch6/toyc.cpp
    M mlir/examples/toy/Ch7/CMakeLists.txt
    M mlir/examples/toy/Ch7/toyc.cpp
    M mlir/examples/transform-opt/CMakeLists.txt
    M mlir/examples/transform-opt/mlir-transform-opt.cpp
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/include/mlir/InitAllPasses.h
    M mlir/lib/CAPI/RegisterEverything/CMakeLists.txt
    M mlir/lib/CMakeLists.txt
    A mlir/lib/RegisterAllDialects.cpp
    A mlir/lib/RegisterAllExtensions.cpp
    A mlir/lib/RegisterAllPasses.cpp
    M mlir/tools/mlir-lsp-server/CMakeLists.txt
    M mlir/tools/mlir-lsp-server/mlir-lsp-server.cpp
    M mlir/tools/mlir-opt/CMakeLists.txt
    M mlir/tools/mlir-query/CMakeLists.txt
    M mlir/tools/mlir-reduce/CMakeLists.txt
    M mlir/tools/mlir-rewrite/CMakeLists.txt
    M mlir/tools/mlir-rewrite/mlir-rewrite.cpp
    M mlir/unittests/ExecutionEngine/CMakeLists.txt
    M mlir/unittests/Target/LLVM/CMakeLists.txt

  Log Message:
  -----------
  [mlir][core] Move `InitAll***` implementation into static library. (#150805)

`InitAll***` functions are used by `opt`-style tools to init all MLIR
dialects/passes/extensions. Currently they are implemeted as inline
functions and include essentially the entire MLIR header tree. Each file
which includes this header (~10 currently) takes 10+ sec and multiple GB
of ram to compile (tested with clang-19), which limits amount of
parallel compiler jobs which can be run. Also, flang just includes this
file into one of its headers.

Move the actual registration code to the static library, so it's
compiled only once.

Discourse thread
https://discourse.llvm.org/t/rfc-moving-initall-implementation-into-static-library/87559



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