[PATCH] D78195: [MLIR] Add IndexAttr to primitive attributes kinds in tablegen.
Ulysse Beaugnon via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Apr 15 05:26:31 PDT 2020
ulysseB created this revision.
ulysseB added a reviewer: ftynse.
Herald added subscribers: llvm-commits, frgossen, grosul1, Joonsoo, liufengdb, lucyrfox, mgester, arpith-jacob, nicolasvasilache, antiagainst, shauheen, burmako, jpienaar, rriddle, mehdi_amini, arphaman.
Herald added a reviewer: rriddle.
Herald added a reviewer: antiagainst.
Herald added a project: LLVM.
OpBase.td defined attributes kind for all integer types expect index. This
commit fixes that by adding an IndexAttr attribute kind.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D78195
Files:
mlir/include/mlir/IR/OpBase.td
mlir/test/IR/attribute.mlir
Index: mlir/test/IR/attribute.mlir
===================================================================
--- mlir/test/IR/attribute.mlir
+++ mlir/test/IR/attribute.mlir
@@ -8,6 +8,8 @@
"test.int_attrs"() {
// CHECK: any_i32_attr = 5 : ui32
any_i32_attr = 5 : ui32,
+ // CHECK-SAME: index_attr = 8 : index
+ index_attr = 8 : index,
// CHECK-SAME: si32_attr = 7 : si32
si32_attr = 7 : si32,
// CHECK-SAME: ui32_attr = 6 : ui32
Index: mlir/include/mlir/IR/OpBase.td
===================================================================
--- mlir/include/mlir/IR/OpBase.td
+++ mlir/include/mlir/IR/OpBase.td
@@ -844,6 +844,16 @@
let constBuilderCall = "$_builder.getBoolAttr($0)";
}
+// Index attribute.
+def IndexAttr :
+ TypedAttrBase<
+ Index, "IntegerAttr",
+ And<[CPred<"$_self.isa<IntegerAttr>()">,
+ CPred<"$_self.cast<IntegerAttr>().getType().isa<IndexType>()">]>,
+ "index attribute"> {
+ let returnType = [{ APInt }];
+}
+
// Base class for any integer (regardless of signedness semantics) attributes
// of fixed width.
class AnyIntegerAttrBase<AnyI attrValType, string descr> :
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D78195.257677.patch
Type: text/x-patch
Size: 1152 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200415/e5aa5a32/attachment-0001.bin>
More information about the llvm-commits
mailing list