//===- NumpyDialect.td - Core numpy dialect ----------------*- tablegen -*-===// // // This file is licensed under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef NPCOMP_DIALECT_NUMPY_NUMPY_DIALECT #define NPCOMP_DIALECT_NUMPY_NUMPY_DIALECT include "mlir/IR/OpBase.td" //===----------------------------------------------------------------------===// // Dialect definition //===----------------------------------------------------------------------===// def Numpy_Dialect : Dialect { let name = "numpy"; let summary = "Core numpy dialect"; let description = [{ Dialect of types and core numpy ops and abstractions. }]; let cppNamespace = "numpy"; } //===----------------------------------------------------------------------===// // Op templates //===----------------------------------------------------------------------===// class Numpy_Op traits = []> : Op { let parser = [{ return parse$cppClass(parser, &result); }]; let printer = [{ return print$cppClass(p, *this); }]; } //===----------------------------------------------------------------------===// // Type predicates //===----------------------------------------------------------------------===// def Numpy_AnyArray : TensorOf<[AnyType]>; #endif // NPCOMP_DIALECT_NUMPY_NUMPY_DIALECT