@@ -3010,31 +3010,22 @@ def CIR_ExtractMemberOp : CIR_Op<"extract_member", [Pure]> {
3010
3010
```
3011
3011
}];
3012
3012
3013
- let arguments = (ins CIRRecordType:$record, IndexAttr:$index_attr );
3013
+ let arguments = (ins CIRRecordType:$record, I64Attr:$index );
3014
3014
let results = (outs CIR_AnyType:$result);
3015
3015
3016
3016
let assemblyFormat = [{
3017
- $record `[` $index_attr `]` attr-dict
3017
+ $record `[` $index `]` attr-dict
3018
3018
`:` qualified(type($record)) `->` qualified(type($result))
3019
3019
}];
3020
3020
3021
3021
let builders = [
3022
- OpBuilder<(ins "mlir::Type":$type, "mlir::Value":$record, "uint64_t":$index), [{
3023
- mlir::APInt fieldIdx(64, index);
3024
- build($_builder, $_state, type, record, fieldIdx);
3025
- }]>,
3026
3022
OpBuilder<(ins "mlir::Value":$record, "uint64_t":$index), [{
3027
3023
auto recordTy = mlir::cast<cir::RecordType>(record.getType());
3028
3024
mlir::Type memberTy = recordTy.getMembers()[index];
3029
3025
build($_builder, $_state, memberTy, record, index);
3030
3026
}]>
3031
3027
];
3032
3028
3033
- let extraClassDeclaration = [{
3034
- /// Get the index of the record member being accessed.
3035
- uint64_t getIndex() { return getIndexAttr().getZExtValue(); }
3036
- }];
3037
-
3038
3029
let hasVerifier = 1;
3039
3030
}
3040
3031
@@ -3075,25 +3066,12 @@ def CIR_InsertMemberOp : CIR_Op<"insert_member", [
3075
3066
```
3076
3067
}];
3077
3068
3078
- let arguments = (ins CIRRecordType:$record, IndexAttr:$index_attr ,
3069
+ let arguments = (ins CIRRecordType:$record, I64Attr:$index ,
3079
3070
CIR_AnyType:$value);
3080
3071
let results = (outs CIRRecordType:$result);
3081
3072
3082
- let builders = [
3083
- OpBuilder<(ins "mlir::Value":$record, "uint64_t":$index,
3084
- "mlir::Value":$value), [{
3085
- mlir::APInt fieldIdx(64, index);
3086
- build($_builder, $_state, record, fieldIdx, value);
3087
- }]>
3088
- ];
3089
-
3090
- let extraClassDeclaration = [{
3091
- /// Get the index of the record member being accessed.
3092
- uint64_t getIndex() { return getIndexAttr().getZExtValue(); }
3093
- }];
3094
-
3095
3073
let assemblyFormat = [{
3096
- $record `[` $index_attr `]` `,` $value attr-dict
3074
+ $record `[` $index `]` `,` $value attr-dict
3097
3075
`:` qualified(type($record)) `,` qualified(type($value))
3098
3076
}];
3099
3077
0 commit comments