[all-commits] [llvm/llvm-project] 0680e8: [mlir] Revert to old fold logic in IR::Dialect::ad...

Andrei Golubev via All-commits all-commits at lists.llvm.org
Mon Jan 29 15:11:13 PST 2024


  Branch: refs/heads/release/18.x
  Home:   https://github.com/llvm/llvm-project
  Commit: 0680e84a3f2a366a860bd0491f490a2fba800313
      https://github.com/llvm/llvm-project/commit/0680e84a3f2a366a860bd0491f490a2fba800313
  Author: Andrei Golubev <andrey.golubev at intel.com>
  Date:   2024-01-29 (Mon, 29 Jan 2024)

  Changed paths:
    M mlir/include/mlir/IR/Dialect.h

  Log Message:
  -----------
  [mlir] Revert to old fold logic in IR::Dialect::add{Types, Attributes}() (#79582)

Fold expressions on Clang are limited to 256 elements. This causes
compilation errors in cases when the amount of elements added exceeds
this limit. Side-step the issue by restoring the original trick that
would use the std::initializer_list. For the record, in our downstream
Clang 16 gives:

mlir/include/mlir/IR/Dialect.h:269:23: fatal error: instantiating fold
expression with 688 arguments exceeded expression nesting limit of 256
    (addType<Args>(), ...);

Partially reverts 26d811b3ecd2fa1ca3d9b41e17fb42b8c7ad03d6.

Co-authored-by: Nikita Kudriavtsev <nikita.kudriavtsev at intel.com>
(cherry picked from commit e3a38a75ddc6ff00301ec19a0e2488d00f2cc297)




More information about the All-commits mailing list