1*9f3f6d7bSStella Laurenzo//===-- python_test_ops.td - Python test Op definitions ----*- tablegen -*-===//
2*9f3f6d7bSStella Laurenzo//
3*9f3f6d7bSStella Laurenzo// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4*9f3f6d7bSStella Laurenzo// See https://llvm.org/LICENSE.txt for license information.
5*9f3f6d7bSStella Laurenzo// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6*9f3f6d7bSStella Laurenzo//
7*9f3f6d7bSStella Laurenzo//===----------------------------------------------------------------------===//
8*9f3f6d7bSStella Laurenzo
9*9f3f6d7bSStella Laurenzo#ifndef PYTHON_TEST_OPS
10*9f3f6d7bSStella Laurenzo#define PYTHON_TEST_OPS
11*9f3f6d7bSStella Laurenzo
12*9f3f6d7bSStella Laurenzoinclude "mlir/Bindings/Python/Attributes.td"
13*9f3f6d7bSStella Laurenzoinclude "mlir/IR/OpBase.td"
14*9f3f6d7bSStella Laurenzo
15*9f3f6d7bSStella Laurenzodef Python_Test_Dialect : Dialect {
16*9f3f6d7bSStella Laurenzo  let name = "python_test";
17*9f3f6d7bSStella Laurenzo  let cppNamespace = "PythonTest";
18*9f3f6d7bSStella Laurenzo}
19*9f3f6d7bSStella Laurenzoclass TestOp<string mnemonic, list<OpTrait> traits = []>
20*9f3f6d7bSStella Laurenzo    : Op<Python_Test_Dialect, mnemonic, traits>;
21*9f3f6d7bSStella Laurenzo
22*9f3f6d7bSStella Laurenzodef AttributedOp : TestOp<"attributed_op"> {
23*9f3f6d7bSStella Laurenzo  let arguments = (ins I32Attr:$mandatory_i32,
24*9f3f6d7bSStella Laurenzo                   OptionalAttr<I32Attr>:$optional_i32,
25*9f3f6d7bSStella Laurenzo                   UnitAttr:$unit);
26*9f3f6d7bSStella Laurenzo}
27*9f3f6d7bSStella Laurenzo
28*9f3f6d7bSStella Laurenzo#endif // PYTHON_TEST_OPS
29