xref: /llvm-project/mlir/test/mlir-pdll/Parser/include/ops.td (revision b74192b7ae0781200be7df40e673d4f918b32587)
181f2f4dfSRiver Riddleinclude "include/interfaces.td"
281f2f4dfSRiver Riddle
381f2f4dfSRiver Riddledef Test_Dialect : Dialect {
481f2f4dfSRiver Riddle  let name = "test";
581f2f4dfSRiver Riddle}
681f2f4dfSRiver Riddle
781f2f4dfSRiver Riddledef OpAllEmpty : Op<Test_Dialect, "all_empty">;
881f2f4dfSRiver Riddle
981f2f4dfSRiver Riddledef OpAllSingle : Op<Test_Dialect, "all_single"> {
10b3fc0fa8SRiver Riddle  let arguments = (ins
11b3fc0fa8SRiver Riddle    I64:$operand,
12b3fc0fa8SRiver Riddle    I64Attr:$attr,
13e35ca70eSJeff Niu    ConfinedAttr<I64Attr, [IntNonNegative]>:$nonNegativeAttr
14b3fc0fa8SRiver Riddle  );
1581f2f4dfSRiver Riddle  let results = (outs I64:$result);
1681f2f4dfSRiver Riddle}
1781f2f4dfSRiver Riddle
1881f2f4dfSRiver Riddledef OpAllOptional : Op<Test_Dialect, "all_optional"> {
1981f2f4dfSRiver Riddle  let arguments = (ins Optional<I64>:$operand, OptionalAttr<I64Attr>:$attr);
2081f2f4dfSRiver Riddle  let results = (outs Optional<I64>:$result);
2181f2f4dfSRiver Riddle}
2281f2f4dfSRiver Riddle
2381f2f4dfSRiver Riddledef OpAllVariadic : Op<Test_Dialect, "all_variadic"> {
2481f2f4dfSRiver Riddle  let arguments = (ins Variadic<I64>:$operands);
2581f2f4dfSRiver Riddle  let results = (outs Variadic<I64>:$results);
2681f2f4dfSRiver Riddle}
2781f2f4dfSRiver Riddle
2881f2f4dfSRiver Riddledef OpMultipleSingleResult : Op<Test_Dialect, "multiple_single_result"> {
2981f2f4dfSRiver Riddle  let results = (outs I64:$result, I64:$result2);
3081f2f4dfSRiver Riddle}
31ec92a125SRiver Riddle
32ec92a125SRiver Riddledef OpMultiVariadic : Op<Test_Dialect, "multi_variadic"> {
33*b74192b7SRiver Riddle  let arguments = (ins Variadic<I64>:$operands1, Variadic<I64>:$operand2);
34*b74192b7SRiver Riddle  let results = (outs Variadic<I64>:$results1, Variadic<I64>:$results2);
35ec92a125SRiver Riddle}
36