103 lines · plain
1// RUN: mlir-opt %s | mlir-opt | FileCheck %s2 3// CHECK: irdl.dialect @testvar {4irdl.dialect @testvar {5 6 // CHECK-LABEL: irdl.operation @single_operand {7 // CHECK-NEXT: %[[v0:[^ ]*]] = irdl.is i328 // CHECK-NEXT: irdl.operands(foo: %[[v0]])9 // CHECK-NEXT: }10 irdl.operation @single_operand {11 %0 = irdl.is i3212 irdl.operands(foo: single %0)13 }14 15 // CHECK-LABEL: irdl.operation @var_operand {16 // CHECK-NEXT: %[[v0:[^ ]*]] = irdl.is i16 17 // CHECK-NEXT: %[[v1:[^ ]*]] = irdl.is i32 18 // CHECK-NEXT: %[[v2:[^ ]*]] = irdl.is i64 19 // CHECK-NEXT: irdl.operands(foo: %[[v0]], bar: variadic %[[v1]], baz: %[[v2]])20 // CHECK-NEXT: }21 irdl.operation @var_operand {22 %0 = irdl.is i1623 %1 = irdl.is i3224 %2 = irdl.is i6425 irdl.operands(foo: %0, bar: variadic %1, baz: %2)26 }27 28 // CHECK-LABEL: irdl.operation @opt_operand {29 // CHECK-NEXT: %[[v0:[^ ]*]] = irdl.is i16 30 // CHECK-NEXT: %[[v1:[^ ]*]] = irdl.is i32 31 // CHECK-NEXT: %[[v2:[^ ]*]] = irdl.is i64 32 // CHECK-NEXT: irdl.operands(foo: %[[v0]], bar: optional %[[v1]], baz: %[[v2]])33 // CHECK-NEXT: }34 irdl.operation @opt_operand {35 %0 = irdl.is i1636 %1 = irdl.is i3237 %2 = irdl.is i6438 irdl.operands(foo: %0, bar: optional %1, baz: %2)39 }40 41 // CHECK-LABEL: irdl.operation @var_and_opt_operand {42 // CHECK-NEXT: %[[v0:[^ ]*]] = irdl.is i16 43 // CHECK-NEXT: %[[v1:[^ ]*]] = irdl.is i32 44 // CHECK-NEXT: %[[v2:[^ ]*]] = irdl.is i64 45 // CHECK-NEXT: irdl.operands(foo: variadic %[[v0]], bar: optional %[[v1]], baz: %[[v2]])46 // CHECK-NEXT: }47 irdl.operation @var_and_opt_operand {48 %0 = irdl.is i1649 %1 = irdl.is i3250 %2 = irdl.is i6451 irdl.operands(foo: variadic %0, bar: optional %1, baz: %2)52 }53 54 55 // CHECK-LABEL: irdl.operation @single_result {56 // CHECK-NEXT: %[[v0:[^ ]*]] = irdl.is i3257 // CHECK-NEXT: irdl.results(foo: %[[v0]])58 // CHECK-NEXT: }59 irdl.operation @single_result {60 %0 = irdl.is i3261 irdl.results(foo: single %0)62 }63 64 // CHECK-LABEL: irdl.operation @var_result {65 // CHECK-NEXT: %[[v0:[^ ]*]] = irdl.is i16 66 // CHECK-NEXT: %[[v1:[^ ]*]] = irdl.is i32 67 // CHECK-NEXT: %[[v2:[^ ]*]] = irdl.is i64 68 // CHECK-NEXT: irdl.results(foo: %[[v0]], bar: variadic %[[v1]], baz: %[[v2]])69 // CHECK-NEXT: }70 irdl.operation @var_result {71 %0 = irdl.is i1672 %1 = irdl.is i3273 %2 = irdl.is i6474 irdl.results(foo: %0, bar: variadic %1, baz: %2)75 }76 77 // CHECK-LABEL: irdl.operation @opt_result {78 // CHECK-NEXT: %[[v0:[^ ]*]] = irdl.is i16 79 // CHECK-NEXT: %[[v1:[^ ]*]] = irdl.is i32 80 // CHECK-NEXT: %[[v2:[^ ]*]] = irdl.is i64 81 // CHECK-NEXT: irdl.results(foo: %[[v0]], bar: optional %[[v1]], baz: %[[v2]])82 // CHECK-NEXT: }83 irdl.operation @opt_result {84 %0 = irdl.is i1685 %1 = irdl.is i3286 %2 = irdl.is i6487 irdl.results(foo: %0, bar: optional %1, baz: %2)88 }89 90 // CHECK-LABEL: irdl.operation @var_and_opt_result {91 // CHECK-NEXT: %[[v0:[^ ]*]] = irdl.is i16 92 // CHECK-NEXT: %[[v1:[^ ]*]] = irdl.is i32 93 // CHECK-NEXT: %[[v2:[^ ]*]] = irdl.is i64 94 // CHECK-NEXT: irdl.results(foo: variadic %[[v0]], bar: optional %[[v1]], baz: %[[v2]])95 // CHECK-NEXT: }96 irdl.operation @var_and_opt_result {97 %0 = irdl.is i1698 %1 = irdl.is i3299 %2 = irdl.is i64100 irdl.results(foo: variadic %0, bar: optional %1, baz: %2)101 }102}103