@@ -1959,14 +1959,19 @@ def MemRefReinterpretCastOp:
1959
1959
let builders = [
1960
1960
// Build a ReinterpretCastOp with mixed static and dynamic entries.
1961
1961
OpBuilderDAG<(ins "MemRefType":$resultType, "Value":$source,
1962
- "int64_t":$staticOffset, "ArrayRef<int64_t>":$staticSizes,
1963
- "ArrayRef<int64_t>":$staticStrides, "ValueRange":$offset,
1964
- "ValueRange":$sizes, "ValueRange":$strides,
1962
+ "OpFoldResult":$offset, "ArrayRef<OpFoldResult>":$sizes,
1963
+ "ArrayRef<OpFoldResult>":$strides,
1965
1964
CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
1966
- // Build a ReinterpretCastOp with all dynamic entries.
1965
+ // Build a ReinterpretCastOp with static entries.
1967
1966
OpBuilderDAG<(ins "MemRefType":$resultType, "Value":$source,
1968
- "Value":$offset, "ValueRange":$sizes, "ValueRange":$strides,
1967
+ "int64_t":$offset, "ArrayRef<int64_t>":$sizes,
1968
+ "ArrayRef<int64_t>":$strides,
1969
1969
CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
1970
+ // Build a ReinterpretCastOp with dynamic entries.
1971
+ OpBuilderDAG<(ins "MemRefType":$resultType, "Value":$source,
1972
+ "Value":$offset, "ValueRange":$sizes,
1973
+ "ValueRange":$strides,
1974
+ CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>
1970
1975
];
1971
1976
1972
1977
let extraClassDeclaration = extraBaseClassDeclaration # [{
@@ -2927,23 +2932,33 @@ def SubViewOp : BaseOpWithOffsetSizesAndStrides<
2927
2932
let results = (outs AnyMemRef:$result);
2928
2933
2929
2934
let builders = [
2930
- // Build a SubViewOp with mixed static and dynamic entries.
2931
- OpBuilderDAG<(ins "Value":$source, "ArrayRef<int64_t>":$staticOffsets,
2932
- "ArrayRef<int64_t> ":$staticSizes , "ArrayRef<int64_t >":$staticStrides ,
2933
- "ValueRange ":$offsets, "ValueRange":$ sizes, "ValueRange ":$strides,
2935
+ // Build a SubViewOp with mixed static and dynamic entries and custom
2936
+ // result type. If the type passed is nullptr, it is inferred.
2937
+ OpBuilderDAG<(ins "Value ":$source , "ArrayRef<OpFoldResult >":$offsets ,
2938
+ "ArrayRef<OpFoldResult> ":$sizes, "ArrayRef<OpFoldResult> ":$strides,
2934
2939
CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
2935
- // Build a SubViewOp with all dynamic entries.
2936
- OpBuilderDAG<(ins "Value":$source, "ValueRange":$offsets,
2937
- "ValueRange":$sizes, "ValueRange":$strides,
2940
+ // Build a SubViewOp with mixed static and dynamic entries and inferred
2941
+ // result type.
2942
+ OpBuilderDAG<(ins "MemRefType":$resultType, "Value":$source,
2943
+ "ArrayRef<OpFoldResult>":$offsets, "ArrayRef<OpFoldResult>":$sizes,
2944
+ "ArrayRef<OpFoldResult>":$strides,
2938
2945
CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
2939
- // Build a SubViewOp with mixed static and dynamic entries
2940
- // and custom result type.
2946
+ // Build a SubViewOp with static entries and custom result type. If the
2947
+ // type passed is nullptr, it is inferred.
2948
+ OpBuilderDAG<(ins "Value":$source, "ArrayRef<int64_t>":$offsets,
2949
+ "ArrayRef<int64_t>":$sizes, "ArrayRef<int64_t>":$strides,
2950
+ CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
2951
+ // Build a SubViewOp with static entries and inferred result type.
2941
2952
OpBuilderDAG<(ins "MemRefType":$resultType, "Value":$source,
2942
- "ArrayRef<int64_t>":$staticOffsets, "ArrayRef<int64_t>":$staticSizes,
2943
- "ArrayRef<int64_t>":$staticStrides, "ValueRange":$offsets,
2953
+ "ArrayRef<int64_t>":$offsets, "ArrayRef<int64_t>":$sizes,
2954
+ "ArrayRef<int64_t>":$strides,
2955
+ CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
2956
+ // Build a SubViewOp with dynamic entries and custom result type. If the
2957
+ // type passed is nullptr, it is inferred.
2958
+ OpBuilderDAG<(ins "Value":$source, "ValueRange":$offsets,
2944
2959
"ValueRange":$sizes, "ValueRange":$strides,
2945
2960
CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
2946
- // Build a SubViewOp with all dynamic entries and custom result type.
2961
+ // Build a SubViewOp with dynamic entries and inferred result type.
2947
2962
OpBuilderDAG<(ins "MemRefType":$resultType, "Value":$source,
2948
2963
"ValueRange":$offsets, "ValueRange":$sizes, "ValueRange":$strides,
2949
2964
CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>
@@ -3039,26 +3054,6 @@ def SubTensorOp : BaseOpWithOffsetSizesAndStrides<
3039
3054
let results = (outs AnyRankedTensor:$result);
3040
3055
3041
3056
let builders = [
3042
- // Build a SubTensorOp with mixed static and dynamic entries.
3043
- OpBuilderDAG<(ins "Value":$source, "ArrayRef<int64_t>":$staticOffsets,
3044
- "ArrayRef<int64_t>":$staticSizes, "ArrayRef<int64_t>":$staticStrides,
3045
- "ValueRange":$offsets, "ValueRange":$sizes, "ValueRange":$strides,
3046
- CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
3047
- // Build a SubTensorOp with all dynamic entries.
3048
- OpBuilderDAG<(ins "Value":$source, "ValueRange":$offsets,
3049
- "ValueRange":$sizes, "ValueRange":$strides,
3050
- CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
3051
- // Build a SubTensorOp with mixed static and dynamic entries
3052
- // and custom result type.
3053
- OpBuilderDAG<(ins "RankedTensorType":$resultType, "Value":$source,
3054
- "ArrayRef<int64_t>":$staticOffsets, "ArrayRef<int64_t>":$staticSizes,
3055
- "ArrayRef<int64_t>":$staticStrides, "ValueRange":$offsets,
3056
- "ValueRange":$sizes, "ValueRange":$strides,
3057
- CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
3058
- // Build a SubTensorOp with all dynamic entries and custom result type.
3059
- OpBuilderDAG<(ins "RankedTensorType":$resultType, "Value":$source,
3060
- "ValueRange":$offsets, "ValueRange":$sizes, "ValueRange":$strides,
3061
- CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
3062
3057
// Build a SubTensorOp with mixed static and dynamic entries and inferred
3063
3058
// result type.
3064
3059
OpBuilderDAG<(ins "Value":$source, "ArrayRef<OpFoldResult>":$offsets,
@@ -3069,6 +3064,15 @@ def SubTensorOp : BaseOpWithOffsetSizesAndStrides<
3069
3064
OpBuilderDAG<(ins "RankedTensorType":$resultType, "Value":$source,
3070
3065
"ArrayRef<OpFoldResult>":$offsets, "ArrayRef<OpFoldResult>":$sizes,
3071
3066
"ArrayRef<OpFoldResult>":$strides,
3067
+ CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
3068
+ // Build a SubTensorOp with dynamic entries and custom result type. If the
3069
+ // type passed is nullptr, it is inferred.
3070
+ OpBuilderDAG<(ins "Value":$source, "ValueRange":$offsets,
3071
+ "ValueRange":$sizes, "ValueRange":$strides,
3072
+ CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
3073
+ // Build a SubTensorOp with dynamic entries and inferred result type.
3074
+ OpBuilderDAG<(ins "RankedTensorType":$resultType, "Value":$source,
3075
+ "ValueRange":$offsets, "ValueRange":$sizes, "ValueRange":$strides,
3072
3076
CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>
3073
3077
];
3074
3078
@@ -3157,19 +3161,13 @@ def SubTensorInsertOp : BaseOpWithOffsetSizesAndStrides<
3157
3161
3158
3162
let builders = [
3159
3163
// Build a SubTensorInsertOp with mixed static and dynamic entries.
3160
- OpBuilderDAG<(ins "Value":$source, "Value":$dest,
3161
- "ArrayRef<int64_t>":$staticOffsets, "ArrayRef<int64_t>":$staticSizes,
3162
- "ArrayRef<int64_t>":$staticStrides, "ValueRange":$offsets,
3163
- "ValueRange":$sizes, "ValueRange":$strides,
3164
- CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
3165
- // Build a SubTensorInsertOp with all dynamic entries.
3166
- OpBuilderDAG<(ins "Value":$source, "Value":$dest, "ValueRange":$offsets,
3167
- "ValueRange":$sizes, "ValueRange":$strides,
3168
- CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
3169
- // Build a SubTensorInsertOp with mixed static and dynamic entries.
3170
3164
OpBuilderDAG<(ins "Value":$source, "Value":$dest,
3171
3165
"ArrayRef<OpFoldResult>":$offsets, "ArrayRef<OpFoldResult>":$sizes,
3172
3166
"ArrayRef<OpFoldResult>":$strides,
3167
+ CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>,
3168
+ // Build a SubTensorInsertOp with dynamic entries.
3169
+ OpBuilderDAG<(ins "Value":$source, "Value":$dest,
3170
+ "ValueRange":$offsets, "ValueRange":$sizes, "ValueRange":$strides,
3173
3171
CArg<"ArrayRef<NamedAttribute>", "{}">:$attrs)>
3174
3172
];
3175
3173
0 commit comments