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