[all-commits] [llvm/llvm-project] 29bb0b: [mlir] Generate parser/printers for enums

River Riddle via All-commits all-commits at lists.llvm.org
Fri Oct 21 15:33:02 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 29bb0b5e1d4d4563a2c7266d16496ffefba24473
      https://github.com/llvm/llvm-project/commit/29bb0b5e1d4d4563a2c7266d16496ffefba24473
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/func.mlir
    M mlir/test/mlir-tblgen/enums-gen.td
    M mlir/tools/mlir-tblgen/EnumsGen.cpp
    M mlir/tools/mlir-tblgen/FormatGen.cpp

  Log Message:
  -----------
  [mlir] Generate parser/printers for enums

This greatly simplifies composing enums in attribute/type printers,
which currently reimplement these functions as needed.

Differential Revision: https://reviews.llvm.org/D136407


  Commit: 1da1141830718353fa7a38beada710d399d760dc
      https://github.com/llvm/llvm-project/commit/1da1141830718353fa7a38beada710d399d760dc
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/Location.h
    M mlir/lib/IR/Location.cpp

  Log Message:
  -----------
  [mlir] Implement the SubElement interfaces for the builtin locations

This enables find/replace of nested components for location attributes.

Differential Revision: https://reviews.llvm.org/D136408


  Commit: 0b1fe474990eabd17a97ab6c0af01d68ac932b25
      https://github.com/llvm/llvm-project/commit/0b1fe474990eabd17a97ab6c0af01d68ac932b25
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2022-10-21 (Fri, 21 Oct 2022)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMAttrDefs.td
    A mlir/include/mlir/Dialect/LLVMIR/LLVMAttrs.h
    M mlir/include/mlir/Dialect/LLVMIR/LLVMDialect.h
    A mlir/include/mlir/Dialect/LLVMIR/LLVMEnums.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOpBase.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/CMakeLists.txt
    A mlir/lib/Dialect/LLVMIR/IR/LLVMAttrs.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp

  Log Message:
  -----------
  [mlir:LLVM][NFC] Cleanup attribute/enum definitions

Enum definitions are currently spread throughout the op definitions
file, making it difficult to reason about both where they are, and
where to add new ones when necessary. The attribute definitions are
in a similarish case, where while they have a dedicated .td file, there
definitions/declarations are generated in the main LLVMDialect source
files. This makes it difficult to reason about how to cleanly add new
attributes/enums.

This commit adds a dedicated LLVMEnums.td file for enum definitions,
cleans up the AttrDefs.td file, and adds a new LLVMAttrs.cpp/.h file to
home enum/attr definitions moving forward. This makes it much cleaner to
add new attributes/enums to the LLVM dialect.

Differential Revision: https://reviews.llvm.org/D136409


Compare: https://github.com/llvm/llvm-project/compare/b525392a17a8...0b1fe474990e


More information about the All-commits mailing list