[mlir] Add I1 support to DenseArrayAttr
authorJeff Niu <jeff@modular.com>
Mon, 1 Aug 2022 20:21:33 +0000 (16:21 -0400)
committerJeff Niu <jeff@modular.com>
Thu, 4 Aug 2022 14:24:45 +0000 (10:24 -0400)
commitd0541b47000739c68c540170c6b9790ec1ea3b77
tree4cf4256b42678b2fe2e80fd3e84e32f2c2fab0e4
parent74940d2668980dd5f7025eef7112708061a78f05
[mlir] Add I1 support to DenseArrayAttr

This patch adds a DenseI1ArrayAttr to support arrays of i1. Importantly,
the implementation is as a simple `ArrayRef<bool>` instead of using bit
compression, which was problematic in DenseElementsAttr.

Reviewed By: rriddle

Differential Revision: https://reviews.llvm.org/D130957
mlir/include/mlir/IR/BuiltinAttributes.h
mlir/include/mlir/IR/BuiltinAttributes.td
mlir/include/mlir/IR/OpBase.td
mlir/lib/AsmParser/AttributeParser.cpp
mlir/lib/AsmParser/Parser.cpp
mlir/lib/IR/AsmPrinter.cpp
mlir/lib/IR/BuiltinAttributes.cpp
mlir/test/IR/attribute.mlir
mlir/test/IR/elements-attr-interface.mlir
mlir/test/lib/Dialect/Test/TestOps.td
mlir/test/lib/IR/TestBuiltinAttributeInterfaces.cpp