Update MLIR ODS syntax to use OpBuidlerDAG instead of OpBuilder
The latter has been deprecated in favor of the former and will be removed. PiperOrigin-RevId: 339523966
This commit is contained in:
		
							parent
							
								
									0052913775
								
							
						
					
					
						commit
						e77b5ae534
					
				|  | @ -89,10 +89,9 @@ class HLOClient_BroadcastBinaryElementwiseOp< | ||||||
|     OptionalAttr<BroadcastDimAttr>:$broadcast_dimensions |     OptionalAttr<BroadcastDimAttr>:$broadcast_dimensions | ||||||
|   ); |   ); | ||||||
| 
 | 
 | ||||||
|   let builders = [OpBuilder< |   let builders = [ | ||||||
|     "OpBuilder &builder, OperationState &result, Value left, Value  right, " |     OpBuilderDAG<(ins "Value":$left, "Value":$right, | ||||||
|     "DenseIntElementsAttr broadcast_dimensions" |       "DenseIntElementsAttr":$broadcast_dimensions)>]; | ||||||
|   >]; |  | ||||||
| 
 | 
 | ||||||
|   let results = (outs HLO_Tensor); |   let results = (outs HLO_Tensor); | ||||||
| 
 | 
 | ||||||
|  | @ -445,11 +444,10 @@ def HLOClient_BroadcastCompareOp : HLOClient_BroadcastBinaryElementwiseOp< | ||||||
|   ); |   ); | ||||||
|   let results = (outs HLO_PredTensor); |   let results = (outs HLO_PredTensor); | ||||||
| 
 | 
 | ||||||
|   let builders = [OpBuilder< |   let builders = [ | ||||||
|     "OpBuilder &builder, OperationState &result, Value lhs, Value rhs, " |     OpBuilderDAG<(ins "Value":$lhs, "Value":$rhs, | ||||||
|     "DenseIntElementsAttr broadcast_dimensions, " |       "DenseIntElementsAttr":$broadcast_dimensions, | ||||||
|     "StringAttr comparison_direction, StringAttr compare_type = {}" |       "StringAttr":$comparison_direction, CArg<"StringAttr", "{}">:$compare_type)>]; | ||||||
|   >]; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #endif  // CHLO_OPS | #endif  // CHLO_OPS | ||||||
|  |  | ||||||
|  | @ -58,9 +58,8 @@ def HLO_ConstOp : HLO_Op<"constant", | ||||||
|     HLO_StaticShapeTensor:$output |     HLO_StaticShapeTensor:$output | ||||||
|   ); |   ); | ||||||
| 
 | 
 | ||||||
|   let builders = [OpBuilder< |   let builders = [ | ||||||
|     "OpBuilder &builder, OperationState &result, Attribute value" |     OpBuilderDAG<(ins "Attribute":$value)>]; | ||||||
|   >]; |  | ||||||
| 
 | 
 | ||||||
|   let assemblyFormat = "attr-dict $value"; |   let assemblyFormat = "attr-dict $value"; | ||||||
| 
 | 
 | ||||||
|  | @ -147,9 +146,8 @@ class HLO_UnaryElementwiseOp<string mnemonic, list<OpTrait> traits, | ||||||
| def HLO_AbsOp: HLO_UnaryElementwiseOp<"abs", | def HLO_AbsOp: HLO_UnaryElementwiseOp<"abs", | ||||||
|     [NoSideEffect, SameOperandsAndResultShape], |     [NoSideEffect, SameOperandsAndResultShape], | ||||||
|      TensorOf<[HLO_SInt, AnyFloat, HLO_Complex]>>, BASE_HLO_AbsOp { |      TensorOf<[HLO_SInt, AnyFloat, HLO_Complex]>>, BASE_HLO_AbsOp { | ||||||
|   let builders = [OpBuilder< |   let builders = [ | ||||||
|     "Value operand" |     OpBuilderDAG<(ins "Value":$operand)>]; | ||||||
|   >]; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| def HLO_CbrtOp: HLO_UnaryElementwiseOp<"cbrt", | def HLO_CbrtOp: HLO_UnaryElementwiseOp<"cbrt", | ||||||
|  | @ -162,9 +160,8 @@ def HLO_ConvertOp : HLO_UnaryElementwiseOp< | ||||||
|     "convert", [NoSideEffect, SameOperandsAndResultShape], HLO_Tensor>, |     "convert", [NoSideEffect, SameOperandsAndResultShape], HLO_Tensor>, | ||||||
|     BASE_HLO_ConvertOp { |     BASE_HLO_ConvertOp { | ||||||
| 
 | 
 | ||||||
|   let builders = [OpBuilder< |   let builders = [ | ||||||
|     "Value operand, Type result_element_ty" |     OpBuilderDAG<(ins "Value":$operand, "Type":$result_element_ty)>]; | ||||||
|   >]; |  | ||||||
| 
 | 
 | ||||||
|   let hasFolder = 1; |   let hasFolder = 1; | ||||||
| 
 | 
 | ||||||
|  | @ -618,10 +615,9 @@ def HLO_ReduceOp: HLO_Op<"reduce", [ | ||||||
| 
 | 
 | ||||||
|   let results = (outs Variadic<HLO_TensorOrTuple>); |   let results = (outs Variadic<HLO_TensorOrTuple>); | ||||||
| 
 | 
 | ||||||
|   let builders = [OpBuilder< |   let builders = [ | ||||||
|     "OpBuilder &, OperationState &state, ValueRange operands, " |     OpBuilderDAG<(ins "ValueRange":$operands, "ValueRange":$init_values, | ||||||
|     "ValueRange init_values, DenseIntElementsAttr dimensions" |       "DenseIntElementsAttr":$dimensions)>]; | ||||||
|   >]; |  | ||||||
| 
 | 
 | ||||||
|   let extraClassDeclaration = [{ |   let extraClassDeclaration = [{ | ||||||
|     bool isFusibleWithConsumer() { |     bool isFusibleWithConsumer() { | ||||||
|  | @ -657,18 +653,16 @@ def HLO_GetTupleElementOp: HLO_Op<"get_tuple_element", [NoSideEffect]>, BASE_HLO | ||||||
| 
 | 
 | ||||||
|   let hasFolder = 1; |   let hasFolder = 1; | ||||||
| 
 | 
 | ||||||
|   let builders = [OpBuilder< |   let builders = [ | ||||||
|                   "OpBuilder &builder, OperationState &results, " |     OpBuilderDAG<(ins "Value":$value, "int32_t":$index)>]; | ||||||
|                   "Value  value, int32_t index">]; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| def HLO_TupleOp : HLO_Op<"tuple", [NoSideEffect]>, BASE_HLO_TupleOp { | def HLO_TupleOp : HLO_Op<"tuple", [NoSideEffect]>, BASE_HLO_TupleOp { | ||||||
|   let arguments = (ins Variadic<HLO_TensorOrTokenOrTuple>:$val); |   let arguments = (ins Variadic<HLO_TensorOrTokenOrTuple>:$val); | ||||||
|   let results = (outs HLO_Tuple); |   let results = (outs HLO_Tuple); | ||||||
| 
 | 
 | ||||||
|   let builders = [OpBuilder< |   let builders = [ | ||||||
|                   "OpBuilder &builder, OperationState &results, " |     OpBuilderDAG<(ins "ValueRange":$values)>]; | ||||||
|                   "ValueRange values">]; |  | ||||||
| 
 | 
 | ||||||
|   let hasCanonicalizer = 1; |   let hasCanonicalizer = 1; | ||||||
| } | } | ||||||
|  | @ -688,8 +682,8 @@ def HLO_CompareOp: HLO_Op<"compare", [NoSideEffect, SameTypeOperands, | ||||||
|   let hasFolder = 1; |   let hasFolder = 1; | ||||||
| 
 | 
 | ||||||
|   let builders = [ |   let builders = [ | ||||||
|     OpBuilder<"OpBuilder &builder, OperationState &result, Value lhs, Value rhs, " |     OpBuilderDAG<(ins "Value":$lhs, "Value":$rhs, | ||||||
|               "StringAttr comparison_direction, StringAttr compare_type = {}">, |       "StringAttr":$comparison_direction, CArg<"StringAttr", "{}">:$compare_type)>, | ||||||
|   ]; |   ]; | ||||||
| 
 | 
 | ||||||
|   let hasCustomHLOConverter = 1; |   let hasCustomHLOConverter = 1; | ||||||
|  | @ -1151,10 +1145,9 @@ def HLO_SortOp : HLO_Op<"sort", [RecursiveSideEffects, SameOperandsAndResultShap | ||||||
| 
 | 
 | ||||||
|   let regions = (region SizedRegion<1>:$comparator); |   let regions = (region SizedRegion<1>:$comparator); | ||||||
| 
 | 
 | ||||||
|   let builders = [OpBuilder< |   let builders = [ | ||||||
|     "OpBuilder &builder, OperationState &state, ValueRange operands, " |     OpBuilderDAG<(ins "ValueRange":$operands, CArg<"int64_t", "-1">:$dimension, | ||||||
|     "int64_t dimension = -1, bool is_stable = false" |       CArg<"bool", "false">:$is_stable)>]; | ||||||
|   >]; |  | ||||||
| 
 | 
 | ||||||
|   // TODO(b/129422361): SortOp has special conversion logic to HLO. |   // TODO(b/129422361): SortOp has special conversion logic to HLO. | ||||||
|   let hasCustomHLOConverter = 1; |   let hasCustomHLOConverter = 1; | ||||||
|  |  | ||||||
|  | @ -341,7 +341,8 @@ def HLO_StaticMemRefCastOp: Op<LHLO_Dialect, "static_memref_cast", | ||||||
|   let arguments = (ins Arg<LHLO_Buffer, "", []>:$operand); |   let arguments = (ins Arg<LHLO_Buffer, "", []>:$operand); | ||||||
|   let results = (outs Res<LHLO_Buffer, "", []>:$result); |   let results = (outs Res<LHLO_Buffer, "", []>:$result); | ||||||
| 
 | 
 | ||||||
|   let builders = [OpBuilder<"MemRefType resultType, Value operand", |   let builders = [ | ||||||
|  |     OpBuilderDAG<(ins "MemRefType":$resultType, "Value":$operand), | ||||||
|     [{ |     [{ | ||||||
|       $_state.addOperands(operand); |       $_state.addOperands(operand); | ||||||
|       $_state.types.push_back(resultType); |       $_state.types.push_back(resultType); | ||||||
|  | @ -387,8 +388,9 @@ def HLO_DynamicMemRefCastOp: Op<LHLO_Dialect, "dynamic_memref_cast", | ||||||
|   let results = (outs Res<LHLO_Buffer, "", []>:$result); |   let results = (outs Res<LHLO_Buffer, "", []>:$result); | ||||||
| 
 | 
 | ||||||
|   let builders = [ |   let builders = [ | ||||||
|     OpBuilder<"MemRefType resultType, Value operand, ValueRange sizes, " |     OpBuilderDAG<(ins "MemRefType":$resultType, "Value":$operand, | ||||||
|               "ValueRange strides", [{ |       "ValueRange":$sizes, "ValueRange":$strides), | ||||||
|  |     [{ | ||||||
|       $_state.addOperands(operand); |       $_state.addOperands(operand); | ||||||
|       $_state.addOperands(sizes); |       $_state.addOperands(sizes); | ||||||
|       $_state.addOperands(strides); |       $_state.addOperands(strides); | ||||||
|  | @ -813,7 +815,7 @@ def FusionOp : LHLO_Op<"fusion", [SingleBlockImplicitTerminator<"TerminatorOp">] | ||||||
| 
 | 
 | ||||||
|   let skipDefaultBuilders = 1; |   let skipDefaultBuilders = 1; | ||||||
|   let builders = [ |   let builders = [ | ||||||
|      OpBuilder<"ArrayRef<NamedAttribute> attributes"> |      OpBuilderDAG<(ins "ArrayRef<NamedAttribute>":$attributes)> | ||||||
|   ]; |   ]; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -823,9 +825,9 @@ def TerminatorOp : | ||||||
|   let description = [{ |   let description = [{ | ||||||
|     Terminator operation for the LHLO dialect. |     Terminator operation for the LHLO dialect. | ||||||
|   }]; |   }]; | ||||||
|   let builders = [OpBuilder<"ValueRange operands", |   let builders = [ | ||||||
|     [{ build($_builder, $_state, llvm::None, operands, llvm::None); }] |     OpBuilderDAG<(ins "ValueRange":$operands), | ||||||
|   >]; |     [{ build($_builder, $_state, llvm::None, operands, llvm::None); }]>]; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #endif // LHLO_OPS | #endif // LHLO_OPS | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue