@@ -34,16 +34,16 @@ class EmitC_Op<string mnemonic, list<Trait> traits = []>
34
34
// Base class for unary operations.
35
35
class EmitC_UnaryOp<string mnemonic, list<Trait> traits = []> :
36
36
EmitC_Op<mnemonic, traits> {
37
- let arguments = (ins AnyType );
38
- let results = (outs AnyType );
37
+ let arguments = (ins EmitCType );
38
+ let results = (outs EmitCType );
39
39
let assemblyFormat = "operands attr-dict `:` functional-type(operands, results)";
40
40
}
41
41
42
42
// Base class for binary operations.
43
43
class EmitC_BinaryOp<string mnemonic, list<Trait> traits = []> :
44
44
EmitC_Op<mnemonic, traits> {
45
- let arguments = (ins AnyType :$lhs, AnyType :$rhs);
46
- let results = (outs AnyType );
45
+ let arguments = (ins EmitCType :$lhs, EmitCType :$rhs);
46
+ let results = (outs EmitCType );
47
47
let assemblyFormat = "operands attr-dict `:` functional-type(operands, results)";
48
48
}
49
49
@@ -97,9 +97,9 @@ def EmitC_ApplyOp : EmitC_Op<"apply", [CExpression]> {
97
97
}];
98
98
let arguments = (ins
99
99
Arg<StrAttr, "the operator to apply">:$applicableOperator,
100
- AnyType :$operand
100
+ EmitCType :$operand
101
101
);
102
- let results = (outs AnyType :$result);
102
+ let results = (outs EmitCType :$result);
103
103
let assemblyFormat = [{
104
104
$applicableOperator `(` $operand `)` attr-dict `:` functional-type($operand, results)
105
105
}];
@@ -240,9 +240,9 @@ def EmitC_CallOpaqueOp : EmitC_Op<"call_opaque", [CExpression]> {
240
240
Arg<StrAttr, "the C++ function to call">:$callee,
241
241
Arg<OptionalAttr<ArrayAttr>, "the order of operands and further attributes">:$args,
242
242
Arg<OptionalAttr<ArrayAttr>, "template arguments">:$template_args,
243
- Variadic<AnyType >:$operands
243
+ Variadic<EmitCType >:$operands
244
244
);
245
- let results = (outs Variadic<AnyType >);
245
+ let results = (outs Variadic<EmitCType >);
246
246
let builders = [
247
247
OpBuilder<(ins
248
248
"::mlir::TypeRange":$resultTypes,
@@ -284,8 +284,8 @@ def EmitC_CastOp : EmitC_Op<"cast",
284
284
```
285
285
}];
286
286
287
- let arguments = (ins AnyType :$source);
288
- let results = (outs AnyType :$dest);
287
+ let arguments = (ins EmitCType :$source);
288
+ let results = (outs EmitCType :$dest);
289
289
let assemblyFormat = "$source attr-dict `:` type($source) `to` type($dest)";
290
290
}
291
291
@@ -323,9 +323,9 @@ def EmitC_CmpOp : EmitC_BinaryOp<"cmp", [CExpression]> {
323
323
}];
324
324
325
325
let arguments = (ins EmitC_CmpPredicateAttr:$predicate,
326
- AnyType :$lhs,
327
- AnyType :$rhs);
328
- let results = (outs AnyType );
326
+ EmitCType :$lhs,
327
+ EmitCType :$rhs);
328
+ let results = (outs EmitCType );
329
329
330
330
let assemblyFormat = "$predicate `,` operands attr-dict `:` functional-type(operands, results)";
331
331
}
@@ -353,7 +353,7 @@ def EmitC_ConstantOp : EmitC_Op<"constant", [ConstantLike]> {
353
353
}];
354
354
355
355
let arguments = (ins EmitC_OpaqueOrTypedAttr:$value);
356
- let results = (outs AnyType );
356
+ let results = (outs EmitCType );
357
357
358
358
let hasFolder = 1;
359
359
let hasVerifier = 1;
@@ -423,7 +423,7 @@ def EmitC_ExpressionOp : EmitC_Op<"expression",
423
423
}];
424
424
425
425
let arguments = (ins UnitAttr:$do_not_inline);
426
- let results = (outs AnyType :$result);
426
+ let results = (outs EmitCType :$result);
427
427
let regions = (region SizedRegion<1>:$region);
428
428
429
429
let hasVerifier = 1;
@@ -531,8 +531,8 @@ def EmitC_CallOp : EmitC_Op<"call",
531
531
%2 = emitc.call @my_add(%0, %1) : (f32, f32) -> f32
532
532
```
533
533
}];
534
- let arguments = (ins FlatSymbolRefAttr:$callee, Variadic<AnyType >:$operands);
535
- let results = (outs Variadic<AnyType >);
534
+ let arguments = (ins FlatSymbolRefAttr:$callee, Variadic<EmitCType >:$operands);
535
+ let results = (outs Variadic<EmitCType >);
536
536
537
537
let builders = [
538
538
OpBuilder<(ins "FuncOp":$callee, CArg<"ValueRange", "{}">:$operands), [{
@@ -722,7 +722,7 @@ def EmitC_ReturnOp : EmitC_Op<"return", [Pure, HasParent<"FuncOp">,
722
722
}
723
723
```
724
724
}];
725
- let arguments = (ins Optional<AnyType >:$operand);
725
+ let arguments = (ins Optional<EmitCType >:$operand);
726
726
727
727
let assemblyFormat = "attr-dict ($operand^ `:` type($operand))?";
728
728
let hasVerifier = 1;
@@ -766,7 +766,7 @@ def EmitC_LiteralOp : EmitC_Op<"literal", [Pure]> {
766
766
}];
767
767
768
768
let arguments = (ins StrAttr:$value);
769
- let results = (outs AnyType :$result);
769
+ let results = (outs EmitCType :$result);
770
770
771
771
let hasVerifier = 1;
772
772
let assemblyFormat = "$value attr-dict `:` type($result)";
@@ -932,8 +932,8 @@ def EmitC_ConditionalOp : EmitC_Op<"conditional",
932
932
int32_t v6 = v3 ? v4 : v5;
933
933
```
934
934
}];
935
- let arguments = (ins I1:$condition, AnyType :$true_value, AnyType :$false_value);
936
- let results = (outs AnyType :$result);
935
+ let arguments = (ins I1:$condition, EmitCType :$true_value, EmitCType :$false_value);
936
+ let results = (outs EmitCType :$result);
937
937
let assemblyFormat = "operands attr-dict `:` type($result)";
938
938
}
939
939
@@ -1009,7 +1009,7 @@ def EmitC_VariableOp : EmitC_Op<"variable", []> {
1009
1009
}];
1010
1010
1011
1011
let arguments = (ins EmitC_OpaqueOrTypedAttr:$value);
1012
- let results = (outs AnyType );
1012
+ let results = (outs EmitCType );
1013
1013
1014
1014
let hasVerifier = 1;
1015
1015
}
@@ -1068,7 +1068,7 @@ def EmitC_AssignOp : EmitC_Op<"assign", []> {
1068
1068
```
1069
1069
}];
1070
1070
1071
- let arguments = (ins AnyType :$var, AnyType :$value);
1071
+ let arguments = (ins EmitCType :$var, EmitCType :$value);
1072
1072
let results = (outs);
1073
1073
1074
1074
let hasVerifier = 1;
@@ -1089,7 +1089,7 @@ def EmitC_YieldOp : EmitC_Op<"yield",
1089
1089
value is yielded.
1090
1090
}];
1091
1091
1092
- let arguments = (ins Optional<AnyType >:$result);
1092
+ let arguments = (ins Optional<EmitCType >:$result);
1093
1093
let builders = [OpBuilder<(ins), [{ /* nothing to do */ }]>];
1094
1094
1095
1095
let hasVerifier = 1;
@@ -1173,8 +1173,8 @@ def EmitC_SubscriptOp : EmitC_Op<"subscript", []> {
1173
1173
EmitC_OpaqueType,
1174
1174
EmitC_PointerType]>,
1175
1175
"the value to subscript">:$value,
1176
- Variadic<AnyType >:$indices);
1177
- let results = (outs AnyType :$result);
1176
+ Variadic<EmitCType >:$indices);
1177
+ let results = (outs EmitCType :$result);
1178
1178
1179
1179
let builders = [
1180
1180
OpBuilder<(ins "TypedValue<ArrayType>":$array, "ValueRange":$indices), [{
0 commit comments