Commit 57b8b2cc authored by Stephan Herhut's avatar Stephan Herhut
Browse files

Revert "[mlir][ods] Add query for derived attribute"

This reverts commit 5aa57c28.

The source code generated due to this ods change does not compile,
as it passes to few arguments to llvm::is_contained.
parent 0a9fc923
Loading
Loading
Loading
Loading
+0 −11
Original line number Diff line number Diff line
@@ -201,17 +201,6 @@ def DOp : NS_Op<"d_op", []> {
// DEF: odsState.addAttribute("str_attr", (*odsBuilder).getStringAttr(str_attr));
// DEF: odsState.addAttribute("dv_str_attr", (*odsBuilder).getStringAttr(dv_str_attr));

// Test derived type attr.
// ---
def DerivedTypeAttrOp : NS_Op<"derived_type_attr_op", []> {
  let results = (outs AnyTensor:$output);
  DerivedTypeAttr element_dtype = DerivedTypeAttr<"return output().getType();">;
}

// DECL: bool isDerivedAttribute
// DEF: bool DerivedTypeAttrOp::isDerivedAttribute(StringRef name) {
// DEF:  return llvm::is_contained(llvm::makeArrayRef<StringRef>({"element_dtype"}));
// DEF: }

// Test that only default valued attributes at the end of the arguments
// list get default values in the builder signature
+0 −21
Original line number Diff line number Diff line
@@ -391,27 +391,6 @@ void OpEmitter::genAttrGetters() {
      emitAttrWithReturnType(name, attr);
    }
  }

  // Generate helper method to query whether a named attribute is a derived
  // attribute. This enables, for example, avoiding adding an attribute that
  // overlaps with a derived attribute.
  auto &method =
      opClass.newMethod("bool", "isDerivedAttribute", "StringRef name");
  auto &body = method.body();
  auto derivedAttr = make_filter_range(op.getAttributes(),
                                       [](const NamedAttribute &namedAttr) {
                                         return namedAttr.attr.isDerivedAttr();
                                       });
  if (derivedAttr.empty()) {
    body << " return false;";
  } else {
    body << " return llvm::is_contained(llvm::makeArrayRef<StringRef>({";
    mlir::interleaveComma(derivedAttr, body,
                          [&](const NamedAttribute &namedAttr) {
                            body << "\"" << namedAttr.name << "\"";
                          });
    body << "}));";
  }
}

void OpEmitter::genAttrSetters() {