Integrate LLVM at llvm/llvm-project@52f0837778
Updates LLVM usage to match [52f0837778b6](https://github.com/llvm/llvm-project/commit/52f0837778b6) PiperOrigin-RevId: 330939173
This commit is contained in:
		
							parent
							
								
									d599485e06
								
							
						
					
					
						commit
						b22f2f0eea
					
				|  | @ -1,2 +1,2 @@ | |||
| 4964d75d7078b932ac6b17c1990adaa6eada75c1 | ||||
| 52f0837778b6f3b742b36c22b7c608535a52097b | ||||
| 
 | ||||
|  |  | |||
|  | @ -45,7 +45,7 @@ struct StaticMemRefCastOpConverter | |||
|       return failure(); | ||||
|     // Create descriptor.
 | ||||
|     auto desc = MemRefDescriptor::undef(rewriter, loc, llvmTargetDescriptorTy); | ||||
|     Type llvmTargetElementTy = desc.getElementType(); | ||||
|     Type llvmTargetElementTy = desc.getElementPtrType(); | ||||
|     // Set allocated ptr.
 | ||||
|     Value allocated = sourceMemRef.allocatedPtr(rewriter, loc); | ||||
|     allocated = | ||||
|  | @ -96,7 +96,7 @@ struct DynamicMemRefCastOpConverter | |||
|       return failure(); | ||||
|     // Create descriptor.
 | ||||
|     auto desc = MemRefDescriptor::undef(rewriter, loc, llvmTargetDescriptorTy); | ||||
|     Type llvmTargetElementTy = desc.getElementType(); | ||||
|     Type llvmTargetElementTy = desc.getElementPtrType(); | ||||
|     // Set allocated ptr.
 | ||||
|     Value allocated = sourceMemRef.allocatedPtr(rewriter, loc); | ||||
|     allocated = | ||||
|  |  | |||
|  | @ -253,7 +253,7 @@ func @addScalarUnranked(%arg0: tensor<f32>, %arg1: tensor<*xf32>) -> tensor<*xf3 | |||
| //                  to a 1D tensor. | ||||
| // CHECK:           %[[SHAPE_1:.*]] = shape.shape_of %[[ARG_1]] : tensor<*xf32> | ||||
| // CHECK:           %[[NUM_ELEMENTS:.*]] = shape.num_elements %[[SHAPE_1]] : tensor<?xindex> -> index | ||||
| // CHECK:           %[[SIZE_TENSOR:.*]] = tensor_from_elements(%[[NUM_ELEMENTS]]) : tensor<1xindex> | ||||
| // CHECK:           %[[SIZE_TENSOR:.*]] = tensor_from_elements %[[NUM_ELEMENTS]] : tensor<1xindex> | ||||
| // CHECK:           %[[RESHAPED:.*]] = "mhlo.dynamic_reshape"(%[[ARG_1]], %[[SIZE_TENSOR]]) : (tensor<*xf32>, tensor<1xindex>) -> tensor<?xf32> | ||||
| //                  The assuming region is part of the second stage of lowering | ||||
| //                  with ranked broadcasting logic. | ||||
|  | @ -288,7 +288,7 @@ func @addUnrankedScalar(%arg0: tensor<*xf32>, %arg1: tensor<f32>) -> tensor<*xf3 | |||
| //                  to a 1D tensor. | ||||
| // CHECK:           %[[SHAPE_0:.*]] = shape.shape_of %[[ARG_0]] : tensor<*xf32> | ||||
| // CHECK:           %[[NUM_ELEMENTS:.*]] = shape.num_elements %[[SHAPE_0]] : tensor<?xindex> -> index | ||||
| // CHECK:           %[[SIZE_TENSOR:.*]] = tensor_from_elements(%[[NUM_ELEMENTS]]) : tensor<1xindex> | ||||
| // CHECK:           %[[SIZE_TENSOR:.*]] = tensor_from_elements %[[NUM_ELEMENTS]] : tensor<1xindex> | ||||
| // CHECK:           %[[RESHAPED:.*]] = "mhlo.dynamic_reshape"(%[[ARG_0]], %[[SIZE_TENSOR]]) : (tensor<*xf32>, tensor<1xindex>) -> tensor<?xf32> | ||||
| //                  The assuming region is part of the second stage of lowering | ||||
| //                  with ranked broadcasting logic. | ||||
|  |  | |||
|  | @ -170,7 +170,7 @@ func @dyn_broadcast(%operand: memref<?x?xf32>) { | |||
|   // BOTH-SAME: (%[[OPERAND:.*]]: memref<?x?xf32>) | ||||
|   %tensor_operand = tensor_load %operand : memref<?x?xf32> | ||||
|   %c1 = constant 1 : i64 | ||||
|   %shape = tensor_from_elements(%c1, %c1, %c1) : tensor<3xi64> | ||||
|   %shape = tensor_from_elements %c1, %c1, %c1 : tensor<3xi64> | ||||
|   %tensor_result = "mhlo.dynamic_broadcast_in_dim"(%tensor_operand, %shape) { | ||||
|     broadcast_dimensions = dense<[1, 2]> : tensor<2xi64> | ||||
|   } : (tensor<?x?xf32>, tensor<3xi64>) -> tensor<?x?x?xf32> | ||||
|  | @ -416,7 +416,7 @@ func @add_dyn(%lhs: tensor<?x?xf32>, %rhs: tensor<?x?xf32>) { | |||
|   // BOTH: %[[C1:.*]] = constant 1 : index | ||||
|   // BOTH: %[[DIM1:.*]] = dim %arg0, %[[C1]] : memref<?x?xf32> | ||||
|   // BOTH: %[[IC1:.*]] = index_cast %[[DIM1]] : index to i64 | ||||
|   // BOTH: %[[SHAPE:.*]] = tensor_from_elements(%[[IC0]], %[[IC1]]) : tensor<2xi64> | ||||
|   // BOTH: %[[SHAPE:.*]] = tensor_from_elements %[[IC0]], %[[IC1]] : tensor<2xi64> | ||||
|   // BOTH: %[[C0_:.*]] = constant 0 : index | ||||
|   // BOTH: %[[EE0:.*]] = extract_element %[[SHAPE]][%[[C0_]]] : tensor<2xi64> | ||||
|   // BOTH: %[[ICS0:.*]] = index_cast %[[EE0]] : i64 to index | ||||
|  | @ -441,7 +441,7 @@ func @tanh_dyn(%arg0: tensor<?x?xf32>) { | |||
|   // BOTH: %[[C1:.*]] = constant 1 : index | ||||
|   // BOTH: %[[DIM1:.*]] = dim %arg0, %[[C1]] : memref<?x?xf32> | ||||
|   // BOTH: %[[IC1:.*]] = index_cast %[[DIM1]] : index to i64 | ||||
|   // BOTH: %[[SHAPE:.*]] = tensor_from_elements(%[[IC0]], %[[IC1]]) : tensor<2xi64> | ||||
|   // BOTH: %[[SHAPE:.*]] = tensor_from_elements %[[IC0]], %[[IC1]] : tensor<2xi64> | ||||
|   // BOTH: %[[C0_:.*]] = constant 0 : index | ||||
|   // BOTH: %[[EE0:.*]] = extract_element %[[SHAPE]][%[[C0_]]] : tensor<2xi64> | ||||
|   // BOTH: %[[ICS0:.*]] = index_cast %[[EE0]] : i64 to index | ||||
|  |  | |||
|  | @ -7,7 +7,7 @@ func @sqr_transform_result(%a: tensor<*xf32>) -> tensor<*xf32> { | |||
|   // Flatten operand shape. | ||||
|   %shape = shape.shape_of %a : tensor<*xf32> -> tensor<?xindex> | ||||
|   %num_elements = shape.num_elements %shape : tensor<?xindex> -> index | ||||
|   %flat_shape = tensor_from_elements(%num_elements) : tensor<1xindex> | ||||
|   %flat_shape = tensor_from_elements %num_elements : tensor<1xindex> | ||||
|   %flat_a = "mhlo.dynamic_reshape"(%a, %flat_shape) | ||||
|       : (tensor<*xf32>, tensor<1xindex>) -> tensor<?xf32> | ||||
| 
 | ||||
|  | @ -29,7 +29,7 @@ func @sqr_transform_result(%a: tensor<*xf32>) -> tensor<*xf32> { | |||
| func @sqrt(%a: tensor<*xf32>) -> tensor<*xf32> { | ||||
|   // CHECK-NEXT: %[[SHAPE:.*]] = shape.shape_of %[[A]] : tensor<*xf32> -> tensor<?xindex> | ||||
|   // CHECK-NEXT: %[[NUM_ELEMENTS:.*]] = shape.num_elements %[[SHAPE]] | ||||
|   // CHECK-NEXT: %[[FLAT_SHAPE:.*]] = tensor_from_elements(%[[NUM_ELEMENTS]]) : tensor<1xindex> | ||||
|   // CHECK-NEXT: %[[FLAT_SHAPE:.*]] = tensor_from_elements %[[NUM_ELEMENTS]] : tensor<1xindex> | ||||
|   // CHECK-NEXT: %[[FLAT_A:.*]] = "mhlo.dynamic_reshape"(%[[A]], %[[FLAT_SHAPE]]) : (tensor<*xf32>, tensor<1xindex>) -> tensor<?xf32> | ||||
|   // CHECK-NEXT: %[[FLAT_B:.*]] = "mhlo.sqrt"(%[[FLAT_A]]) : (tensor<?xf32>) -> tensor<?xf32> | ||||
|   // CHECK-NEXT: %[[B:.*]] = "mhlo.dynamic_reshape"(%[[FLAT_B]], %[[SHAPE]]) : (tensor<?xf32>, tensor<?xindex>) -> tensor<*xf32> | ||||
|  | @ -71,7 +71,7 @@ func @add_unranked(%a : tensor<*xf32>, %b : tensor<*xf32>) -> tensor<*xf32> { | |||
|   // CHECK: %[[SHAPE_B:.*]] = shape.shape_of %[[B]] | ||||
|   // CHECK: %[[SHAPE:.*]] = shape.any %[[SHAPE_A]], %[[SHAPE_B]] | ||||
|   // CHECK: %[[NUM_ELEMENTS:.*]] = shape.num_elements %[[SHAPE]] | ||||
|   // CHECK: %[[FLAT_SHAPE:.*]] = tensor_from_elements(%[[NUM_ELEMENTS]]) : tensor<1xindex> | ||||
|   // CHECK: %[[FLAT_SHAPE:.*]] = tensor_from_elements %[[NUM_ELEMENTS]] : tensor<1xindex> | ||||
|   // CHECK: %[[FLAT_A:.*]] = "mhlo.dynamic_reshape"(%[[A]], %[[FLAT_SHAPE]]) : (tensor<*xf32>, tensor<1xindex>) -> tensor<?xf32> | ||||
|   // CHECK: %[[FLAT_B:.*]] = "mhlo.dynamic_reshape"(%[[B]], %[[FLAT_SHAPE]]) : (tensor<*xf32>, tensor<1xindex>) -> tensor<?xf32> | ||||
|   // CHECK: %[[FLAT_RESULT:.*]] = mhlo.add %[[FLAT_A]], %[[FLAT_B]] : tensor<?xf32> | ||||
|  |  | |||
|  | @ -109,7 +109,7 @@ func @batchNormInference_dynamic_shape( | |||
|   // CHECK-DAG: %[[C3:.*]] = constant 3 : index | ||||
|   // CHECK-DAG: %[[EPS:.+]] = mhlo.constant dense<1.000000e-03> : tensor<f32> | ||||
|   // CHECK-DAG: %[[DIM:.+]] = dim %[[VARIANCE]], %[[C0]] : tensor<?xf32> | ||||
|   // CHECK-DAG: %[[TO_DIM_TENSOR:.+]] = tensor_from_elements(%[[DIM]]) : tensor<1xindex> | ||||
|   // CHECK-DAG: %[[TO_DIM_TENSOR:.+]] = tensor_from_elements %[[DIM]] : tensor<1xindex> | ||||
|   // CHECK-DAG: %[[EPS_BCAST:.+]] =  "mhlo.dynamic_broadcast_in_dim"(%[[EPS]], %[[TO_DIM_TENSOR]]) {broadcast_dimensions = dense<> : tensor<0xi64>} : (tensor<f32>, tensor<1xindex>) -> tensor<?xf32> | ||||
|   // CHECK-DAG: %[[VARIANCE_EPS:.+]] = mhlo.add %[[VARIANCE]], %[[EPS_BCAST]] : tensor<?xf32> | ||||
|   // CHECK-DAG: %[[STDDEV:.+]] = "mhlo.sqrt"(%[[VARIANCE_EPS]]) : (tensor<?xf32>) -> tensor<?xf32> | ||||
|  | @ -117,7 +117,7 @@ func @batchNormInference_dynamic_shape( | |||
|   // CHECK-DAG: %[[INPUT_DIM_1:.+]] = dim %[[X]], %[[C1]] : tensor<?x?x?x?xf32> | ||||
|   // CHECK-DAG: %[[INPUT_DIM_2:.+]] = dim %[[X]], %[[C2]] : tensor<?x?x?x?xf32> | ||||
|   // CHECK-DAG: %[[INPUT_DIM_3:.+]] = dim %[[X]], %[[C3]] : tensor<?x?x?x?xf32> | ||||
|   // CHECK-DAG: %[[TO_INPUT_DIM_TENSOR:.+]] = tensor_from_elements(%[[INPUT_DIM_0]], %[[INPUT_DIM_1]], %[[INPUT_DIM_2]], %[[INPUT_DIM_3]]) : tensor<4xindex> | ||||
|   // CHECK-DAG: %[[TO_INPUT_DIM_TENSOR:.+]] = tensor_from_elements %[[INPUT_DIM_0]], %[[INPUT_DIM_1]], %[[INPUT_DIM_2]], %[[INPUT_DIM_3]] : tensor<4xindex> | ||||
|   // CHECK-DAG: %[[STDDEV_BCAST:.+]] = "mhlo.dynamic_broadcast_in_dim"(%[[STDDEV]], %[[TO_INPUT_DIM_TENSOR]]) {broadcast_dimensions = dense<1> : tensor<1xi64>} : (tensor<?xf32>, tensor<4xindex>) -> tensor<?x?x?x?xf32> | ||||
|   // CHECK-DAG: %[[SCALE_BCAST:.+]] = "mhlo.dynamic_broadcast_in_dim"(%[[SCALE]], %[[TO_INPUT_DIM_TENSOR]]) {broadcast_dimensions = dense<1> : tensor<1xi64>} : (tensor<?xf32>, tensor<4xindex>) -> tensor<?x?x?x?xf32> | ||||
|   // CHECK-DAG: %[[OFFSET_BCAST:.+]] = "mhlo.dynamic_broadcast_in_dim"(%[[OFFSET]], %[[TO_INPUT_DIM_TENSOR]]) {broadcast_dimensions = dense<1> : tensor<1xi64>} : (tensor<?xf32>, tensor<4xindex>) -> tensor<?x?x?x?xf32> | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue