From 2116eadf0994942fa99778d9b9d4315bc106f35f Mon Sep 17 00:00:00 2001 From: Adrian Kuegel Date: Fri, 11 Jun 2021 12:24:40 +0200 Subject: [PATCH] [mlir] Remove traits that require vector type support from ops in Complex dialect. Actually, no vector types are supported so far. We should add the traits once the vector types are supported (e.g. ElementwiseMappable.traits). Instead add Elementwise trait to each op. Differential Revision: https://reviews.llvm.org/D104103 --- mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td b/mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td index 1f71a97..63b21b8 100644 --- a/mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td +++ b/mlir/include/mlir/Dialect/Complex/IR/ComplexOps.td @@ -10,7 +10,6 @@ #define COMPLEX_OPS include "mlir/Dialect/Complex/IR/ComplexBase.td" -include "mlir/Interfaces/VectorInterfaces.td" include "mlir/Interfaces/SideEffectInterfaces.td" class Complex_Op traits = []> @@ -21,8 +20,7 @@ class Complex_Op traits = []> // one result, all of which must be complex numbers of the same type. class ComplexArithmeticOp traits = []> : Complex_Op] # - ElementwiseMappable.traits> { + Elementwise]> { let arguments = (ins Complex:$lhs, Complex:$rhs); let results = (outs Complex:$result); let assemblyFormat = "$lhs `,` $rhs attr-dict `:` type($result)"; @@ -33,7 +31,7 @@ class ComplexArithmeticOp traits = []> : // floating-point element type. These operations take one operand and return // one result; the operand must be a complex number. class ComplexUnaryOp traits = []> : - Complex_Op { + Complex_Op { let arguments = (ins Complex:$complex); let assemblyFormat = "$complex attr-dict `:` type($complex)"; let verifier = ?; @@ -131,9 +129,7 @@ def DivOp : ComplexArithmeticOp<"div"> { //===----------------------------------------------------------------------===// def EqualOp : Complex_Op<"eq", - [NoSideEffect, AllTypesMatch<["lhs", "rhs"]>, - DeclareOpInterfaceMethods] # - ElementwiseMappable.traits> { + [NoSideEffect, AllTypesMatch<["lhs", "rhs"]>, Elementwise]> { let summary = "computes whether two complex values are equal"; let description = [{ The `eq` op takes two complex numbers and returns whether they are equal. @@ -219,9 +215,7 @@ def MulOp : ComplexArithmeticOp<"mul"> { //===----------------------------------------------------------------------===// def NotEqualOp : Complex_Op<"neq", - [NoSideEffect, AllTypesMatch<["lhs", "rhs"]>, - DeclareOpInterfaceMethods] # - ElementwiseMappable.traits> { + [NoSideEffect, AllTypesMatch<["lhs", "rhs"]>, Elementwise]> { let summary = "computes whether two complex values are not equal"; let description = [{ The `neq` op takes two complex numbers and returns whether they are not -- 2.7.4