@@ -843,7 +843,8 @@ def EmitC_LValueLoadOp : EmitC_Op<"lvalue_load", [
843
843
let summary = "load an lvalue by assigning it to a local variable";
844
844
let description = [{}];
845
845
846
- let arguments = (ins EmitC_LValueType:$operand);
846
+ let arguments = (ins
847
+ Res<EmitC_LValueType, "", [MemRead<DefaultResource, 0, FullEffect>]>:$operand);
847
848
let results = (outs AnyType:$result);
848
849
849
850
let assemblyFormat = "$operand attr-dict `:` type($operand)";
@@ -1023,7 +1024,8 @@ def EmitC_VariableOp : EmitC_Op<"variable", []> {
1023
1024
}];
1024
1025
1025
1026
let arguments = (ins EmitC_OpaqueOrTypedAttr:$value);
1026
- let results = (outs AnyTypeOf<[EmitC_ArrayType, EmitC_LValueType]>);
1027
+ let results = (outs Res<AnyTypeOf<[EmitC_ArrayType, EmitC_LValueType]>, "",
1028
+ [MemAlloc<DefaultResource, 0, FullEffect>]>:$memref);
1027
1029
1028
1030
let hasVerifier = 1;
1029
1031
}
@@ -1151,7 +1153,9 @@ def EmitC_AssignOp : EmitC_Op<"assign", []> {
1151
1153
```
1152
1154
}];
1153
1155
1154
- let arguments = (ins EmitC_LValueType:$var, EmitCType:$value);
1156
+ let arguments = (ins
1157
+ Res<EmitC_LValueType, "", [MemWrite<DefaultResource, 1, FullEffect>]>:$var,
1158
+ Res<EmitCType, "", [MemRead<DefaultResource, 0, FullEffect>]>:$value);
1155
1159
let results = (outs);
1156
1160
1157
1161
let hasVerifier = 1;
0 commit comments