[Mlir-commits] [mlir] 4e6dab9 - Revert "[MLIR] Introduce constraint attributes for DenseArrayAttr"

Lorenzo Chelini llvmlistbot at llvm.org
Thu Dec 1 06:44:35 PST 2022


Author: Lorenzo Chelini
Date: 2022-12-01T15:44:03+01:00
New Revision: 4e6dab98e0cb60c635656a818062887d97c3ef5f

URL: https://github.com/llvm/llvm-project/commit/4e6dab98e0cb60c635656a818062887d97c3ef5f
DIFF: https://github.com/llvm/llvm-project/commit/4e6dab98e0cb60c635656a818062887d97c3ef5f.diff

LOG: Revert "[MLIR] Introduce constraint attributes for DenseArrayAttr"

This reverts commit dd0de4dca92cd6affafb47f788b64e99187168f1.

Build on mlir-windows fails:

Step 6 (build-check-mlir-build-only) failure: build (failure)
C:\buildbot\mlir-x64-windows-ninja\build\tools\mlir\test\lib\Dialect\Test\TestOps.cpp.inc(928): error C2220: the following warning is treated as an error
C:\buildbot\mlir-x64-windows-ninja\build\tools\mlir\test\lib\Dialect\Test\TestOps.cpp.inc(928): warning C4804: '>': unsafe use of type 'bool' in operation
C:\buildbot\mlir-x64-windows-ninja\build\tools\mlir\test\lib\Dialect\Test\TestOps.cpp.inc(7419): warning C4804: '>': unsafe use of type 'bool' in operation

Added: 
    

Modified: 
    mlir/include/mlir/IR/OpBase.td
    mlir/test/IR/attribute.mlir
    mlir/test/lib/Dialect/Test/TestOps.td

Removed: 
    


################################################################################
diff  --git a/mlir/include/mlir/IR/OpBase.td b/mlir/include/mlir/IR/OpBase.td
index e74cd00f7c638..9c87071ee8ebc 100644
--- a/mlir/include/mlir/IR/OpBase.td
+++ b/mlir/include/mlir/IR/OpBase.td
@@ -1669,16 +1669,6 @@ class ArrayCount<int n> : AttrConstraint<
     CPred<"$_self.cast<::mlir::ArrayAttr>().size() == " #n>,
     "with exactly " # n # " elements">;
 
-class DenseArrayStrictlyPositive<DenseArrayAttrBase arrayType> : AttrConstraint<
-  CPred<"::llvm::all_of($_self.cast<" # arrayType #">().asArrayRef(), "
-                        "[&](auto v) { return v > 0; })">,
-  "whose value is positive">;
-
-class DenseArrayNonNegative<DenseArrayAttrBase arrayType> : AttrConstraint<
-  CPred<"::llvm::all_of($_self.cast<" # arrayType #">().asArrayRef(), "
-                        "[&](auto v) { return v >= 0; })">,
-  "whose value is non-negative">;
-
 class DenseArraySorted<DenseArrayAttrBase arrayType> : AttrConstraint<
     CPred<"llvm::is_sorted($_self.cast<" # arrayType # ">().asArrayRef())">,
     "should be in non-decreasing order">;

diff  --git a/mlir/test/IR/attribute.mlir b/mlir/test/IR/attribute.mlir
index 1066b90ea8db5..ebfbb89825030 100644
--- a/mlir/test/IR/attribute.mlir
+++ b/mlir/test/IR/attribute.mlir
@@ -672,70 +672,6 @@ func.func @testConfinedDenseArrayAttrDecreasingOrder() {
 
 // -----
 
-func.func @testConfinedStrictlyPositiveDenseArrayAttr() {
-  "test.confined_strictly_positive_attr"() {
-    boolattr = array<i1: true, true>,
-    i8attr = array<i8: 2, 3>,
-    i16attr = array<i16: 20, 30>,
-    i32attr = array<i32: 1>,
-    i64attr = array<i64: 1, 2, 3>,
-    f32attr = array<f32: 1.1, 2.1>,
-    f64attr = array<f64: 2.1, 3.1>,
-    emptyattr = array<i16>
-  } : () -> ()
-  func.return
-}
-
-// -----
-
-func.func @testConfinedStrictlyPositiveDenseArrayAttr() {
-  // expected-error at +1{{'test.confined_strictly_positive_attr' op attribute 'i64attr' failed to satisfy constraint: i64 dense array attribute whose value is positive}}
-  "test.confined_strictly_positive_attr"() {
-    boolattr = array<i1: true, true>,
-    i8attr = array<i8: 2, 3>,
-    i16attr = array<i16: 20, 30>,
-    i32attr = array<i32: 1>,
-    i64attr = array<i64: 0, 2, 3>,
-    f32attr = array<f32: 1.1, 2.1>,
-    f64attr = array<f64: 2.1, 3.1>,
-    emptyattr = array<i16>
-  } : () -> ()
-  func.return
-}
-
-// -----
-
-func.func @testConfinedNonNegativeDenseArrayAttr() {
-  "test.confined_non_negative_attr"() {
-    i8attr = array<i8: 0, 3>,
-    i16attr = array<i16: 0, 30>,
-    i32attr = array<i32: 1>,
-    i64attr = array<i64: 1, 0, 3>,
-    f32attr = array<f32: 0.0, 2.1>,
-    f64attr = array<f64: 0.0, 3.1>,
-    emptyattr = array<i16>
-  } : () -> ()
-  func.return
-}
-
-// -----
-
-func.func @testConfinedNonNegativeDenseArrayAttr() {
-  // expected-error at +1{{'test.confined_non_negative_attr' op attribute 'i64attr' failed to satisfy constraint: i64 dense array attribute whose value is non-negative}}
-  "test.confined_non_negative_attr"() {
-    i8attr = array<i8: 0, 3>,
-    i16attr = array<i16: 0, 30>,
-    i32attr = array<i32: 1>,
-    i64attr = array<i64: -1, 0, 3>,
-    f32attr = array<f32: 0.0, 2.1>,
-    f64attr = array<f64: 0.0, 3.1>,
-    emptyattr = array<i16>
-  } : () -> ()
-  func.return
-}
-
-// -----
-
 //===----------------------------------------------------------------------===//
 // Test SymbolRefAttr
 //===----------------------------------------------------------------------===//

diff  --git a/mlir/test/lib/Dialect/Test/TestOps.td b/mlir/test/lib/Dialect/Test/TestOps.td
index 0dd839edbe72c..660ce7d05e1a8 100644
--- a/mlir/test/lib/Dialect/Test/TestOps.td
+++ b/mlir/test/lib/Dialect/Test/TestOps.td
@@ -186,11 +186,9 @@ def PositiveIntAttrOp : TEST_Op<"positive_int_attr"> {
 def TypeArrayAttrOp : TEST_Op<"type_array_attr"> {
   let arguments = (ins TypeArrayAttr:$attr);
 }
-
 def TypeArrayAttrWithDefaultOp : TEST_Op<"type_array_attr_with_default"> {
   let arguments = (ins DefaultValuedAttr<TypeArrayAttr, "{}">:$attr);
 }
-
 def TypeStringAttrWithTypeOp : TEST_Op<"string_attr_with_type"> {
   let arguments = (ins TypedStrAttr<AnyType>:$attr);
   let assemblyFormat = "$attr attr-dict";
@@ -294,10 +292,6 @@ def DenseArrayAttrOp : TEST_Op<"dense_array_attr"> {
   }];
 }
 
-//===----------------------------------------------------------------------===//
-// Test Attributes Constraints
-//===----------------------------------------------------------------------===//
-
 def ConfinedDenseArrayAttrOp : TEST_Op<"confined_dense_array_attr"> {
   let arguments = (ins
       ConfinedAttr<DenseI16ArrayAttr,
@@ -309,48 +303,6 @@ def ConfinedDenseArrayAttrOp : TEST_Op<"confined_dense_array_attr"> {
   );
 }
 
-def DenseArrayStrictlyPositiveAttrOp : TEST_Op<"confined_strictly_positive_attr"> {
-  let arguments = (ins
-      ConfinedAttr<DenseBoolArrayAttr,
-                   [DenseArrayStrictlyPositive<DenseBoolArrayAttr>]>:$boolattr,
-      ConfinedAttr<DenseI8ArrayAttr,
-                   [DenseArrayStrictlyPositive<DenseI8ArrayAttr>]>:$i8attr,
-      ConfinedAttr<DenseI16ArrayAttr,
-                   [DenseArrayStrictlyPositive<DenseI16ArrayAttr>]>:$i16attr,
-      ConfinedAttr<DenseI32ArrayAttr,
-                   [DenseArrayStrictlyPositive<DenseI32ArrayAttr>]>:$i32attr,
-      ConfinedAttr<DenseI64ArrayAttr,
-                   [DenseArrayStrictlyPositive<DenseI64ArrayAttr>]>:$i64attr,
-      ConfinedAttr<DenseF32ArrayAttr,
-                   [DenseArrayStrictlyPositive<DenseF32ArrayAttr>]>:$f32attr,
-      ConfinedAttr<DenseF64ArrayAttr,
-                   [DenseArrayStrictlyPositive<DenseF64ArrayAttr>]>:$f64attr,
-      ConfinedAttr<DenseI16ArrayAttr,
-                   [DenseArrayStrictlyPositive<DenseI16ArrayAttr>]>:$emptyattr
-  );
-}
-
-// It does not make sense to have this constraint on a DenseBoolArrayAttr.
-// It is always true.
-def DenseArrayNonNegativeOp : TEST_Op<"confined_non_negative_attr"> {
-  let arguments = (ins
-      ConfinedAttr<DenseI8ArrayAttr,
-                   [DenseArrayNonNegative<DenseI8ArrayAttr>]>:$i8attr,
-      ConfinedAttr<DenseI16ArrayAttr,
-                   [DenseArrayNonNegative<DenseI16ArrayAttr>]>:$i16attr,
-      ConfinedAttr<DenseI32ArrayAttr,
-                   [DenseArrayNonNegative<DenseI32ArrayAttr>]>:$i32attr,
-      ConfinedAttr<DenseI64ArrayAttr,
-                   [DenseArrayNonNegative<DenseI64ArrayAttr>]>:$i64attr,
-      ConfinedAttr<DenseF32ArrayAttr,
-                   [DenseArrayNonNegative<DenseF32ArrayAttr>]>:$f32attr,
-      ConfinedAttr<DenseF64ArrayAttr,
-                   [DenseArrayNonNegative<DenseF64ArrayAttr>]>:$f64attr,
-      ConfinedAttr<DenseI16ArrayAttr,
-                   [DenseArrayNonNegative<DenseI16ArrayAttr>]>:$emptyattr
-  );
-}
-
 //===----------------------------------------------------------------------===//
 // Test Enum Attributes
 //===----------------------------------------------------------------------===//


        


More information about the Mlir-commits mailing list