diff --git a/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td b/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td --- a/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td +++ b/mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td @@ -29,7 +29,7 @@ class NOutputs : NativeOpTrait<"linalg::NOutputs<" # !cast(args_out) # ">::Impl"> {} -def ViewTraits : NativeOpTrait<"linalg::ViewTraits">; +def StructuredOpTraits : NativeOpTrait<"linalg::StructuredOpTraits">; // The linalg 'LinalgStructuredInterface' provides access to the 'LinalgOp' // interface. @@ -147,7 +147,7 @@ // depending on the specific Linalg op. class LinalgStructuredBase_Op props> : Op { + !listconcat(props, [StructuredOpTraits, LinalgStructuredInterface])> { let parser = [{ return parseLinalgStructuredOp(parser, result); }]; let printer = [{ printLinalgStructuredOp(p, *this); }]; } diff --git a/mlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h b/mlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h --- a/mlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h +++ b/mlir/include/mlir/Dialect/Linalg/IR/LinalgTraits.h @@ -55,7 +55,8 @@ /// class DotOp : public Op { /// template -class ViewTraits : public OpTrait::TraitBase { +class StructuredOpTraits + : public OpTrait::TraitBase { private: /// Return the number of input views. For internal use only. unsigned nInputs() {