xref: /llvm-project/mlir/test/mlir-pdll/Parser/include/ops.td (revision b74192b7ae0781200be7df40e673d4f918b32587)
1include "include/interfaces.td"
2
3def Test_Dialect : Dialect {
4  let name = "test";
5}
6
7def OpAllEmpty : Op<Test_Dialect, "all_empty">;
8
9def OpAllSingle : Op<Test_Dialect, "all_single"> {
10  let arguments = (ins
11    I64:$operand,
12    I64Attr:$attr,
13    ConfinedAttr<I64Attr, [IntNonNegative]>:$nonNegativeAttr
14  );
15  let results = (outs I64:$result);
16}
17
18def OpAllOptional : Op<Test_Dialect, "all_optional"> {
19  let arguments = (ins Optional<I64>:$operand, OptionalAttr<I64Attr>:$attr);
20  let results = (outs Optional<I64>:$result);
21}
22
23def OpAllVariadic : Op<Test_Dialect, "all_variadic"> {
24  let arguments = (ins Variadic<I64>:$operands);
25  let results = (outs Variadic<I64>:$results);
26}
27
28def OpMultipleSingleResult : Op<Test_Dialect, "multiple_single_result"> {
29  let results = (outs I64:$result, I64:$result2);
30}
31
32def OpMultiVariadic : Op<Test_Dialect, "multi_variadic"> {
33  let arguments = (ins Variadic<I64>:$operands1, Variadic<I64>:$operand2);
34  let results = (outs Variadic<I64>:$results1, Variadic<I64>:$results2);
35}
36