[all-commits] [llvm/llvm-project] 250f43: [mlir] Remove the use of "kinds" from Attributes a...

River Riddle via All-commits all-commits at lists.llvm.org
Tue Aug 18 16:20:43 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 250f43d3ecc8d6a3780c9aa2e3770c0193a28850
      https://github.com/llvm/llvm-project/commit/250f43d3ecc8d6a3780c9aa2e3770c0193a28850
  Author: River Riddle <riddleriver at gmail.com>
  Date:   2020-08-18 (Tue, 18 Aug 2020)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.h
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M mlir/docs/Tutorials/Toy/Ch-7.md
    M mlir/examples/toy/Ch7/include/toy/Dialect.h
    M mlir/examples/toy/Ch7/mlir/Dialect.cpp
    M mlir/include/mlir/Dialect/LLVMIR/LLVMTypes.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgTypes.h
    M mlir/include/mlir/Dialect/Quant/QuantTypes.h
    M mlir/include/mlir/Dialect/SPIRV/SPIRVAttributes.h
    M mlir/include/mlir/Dialect/SPIRV/SPIRVTypes.h
    M mlir/include/mlir/Dialect/Shape/IR/Shape.h
    M mlir/include/mlir/IR/AttributeSupport.h
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/Dialect.h
    R mlir/include/mlir/IR/DialectSymbolRegistry.def
    M mlir/include/mlir/IR/OpImplementation.h
    M mlir/include/mlir/IR/StandardTypes.h
    M mlir/include/mlir/IR/StorageUniquerSupport.h
    M mlir/include/mlir/IR/TypeSupport.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/Support/StorageUniquer.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMTypes.cpp
    M mlir/lib/Dialect/Quant/IR/QuantTypes.cpp
    M mlir/lib/Dialect/SDBM/SDBMDialect.cpp
    M mlir/lib/Dialect/SDBM/SDBMExpr.cpp
    M mlir/lib/Dialect/SDBM/SDBMExprDetail.h
    M mlir/lib/Dialect/SPIRV/SPIRVAttributes.cpp
    M mlir/lib/Dialect/SPIRV/SPIRVTypes.cpp
    M mlir/lib/IR/AffineExpr.cpp
    M mlir/lib/IR/AffineExprDetail.h
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Attributes.cpp
    M mlir/lib/IR/Location.cpp
    M mlir/lib/IR/MLIRContext.cpp
    M mlir/lib/IR/StandardTypes.cpp
    M mlir/lib/IR/Types.cpp
    M mlir/lib/Support/StorageUniquer.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/test/lib/IR/TestTypes.cpp

  Log Message:
  -----------
  [mlir] Remove the use of "kinds" from Attributes and Types

This greatly simplifies a large portion of the underlying infrastructure, allows for lookups of singleton classes to be much more efficient and always thread-safe(no locking). As a result of this, the dialect symbol registry has been removed as it is no longer necessary.

For users broken by this change, an alert was sent out(https://llvm.discourse.group/t/removing-kinds-from-attributes-and-types) that helps prevent a majority of the breakage surface area. All that should be necessary, if the advice in that alert was followed, is removing the kind passed to the ::get methods.

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




More information about the All-commits mailing list