Skip to content

Commit 8075f2e

Browse files
committed
address LLVM test specific review comments
1 parent 9332921 commit 8075f2e

File tree

2 files changed

+25
-30
lines changed

2 files changed

+25
-30
lines changed

mlir/test/Conversion/VectorToLLVM/vector-to-llvm-interface.mlir

Lines changed: 11 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -130,9 +130,9 @@ func.func @broadcast_vec1d_from_vec1d_scalable(%arg0: vector<[2]xf32>) -> vector
130130

131131
// -----
132132

133-
// CHECK-LABEL: @broadcast_scalar_0d
133+
// CHECK-LABEL: @broadcast_vec0d_from_scalar
134134
// CHECK-SAME: %[[ELT:.*]]: f32
135-
func.func @broadcast_scalar_0d(%elt: f32) -> vector<f32> {
135+
func.func @broadcast_vec0d_from_scalar(%elt: f32) -> vector<f32> {
136136
%v = vector.broadcast %elt : f32 to vector<f32>
137137
return %v : vector<f32>
138138
}
@@ -144,37 +144,33 @@ func.func @broadcast_scalar_0d(%elt: f32) -> vector<f32> {
144144

145145
// -----
146146

147-
// CHECK-LABEL: @broadcast_scalar
147+
// CHECK-LABEL: @broadcast_vec1d_from_scalar
148148
// CHECK-SAME: %[[VEC:[0-9a-zA-Z]+]]: vector<4xf32>
149149
// CHECK-SAME: %[[ELT:[0-9a-zA-Z]+]]: f32
150-
func.func @broadcast_scalar(%vec: vector<4xf32>, %elt: f32) -> vector<4xf32> {
150+
func.func @broadcast_vec1d_from_scalar(%vec: vector<4xf32>, %elt: f32) -> vector<4xf32> {
151151
%vb = vector.broadcast %elt : f32 to vector<4xf32>
152-
%r = arith.mulf %vec, %vb : vector<4xf32>
153-
return %r : vector<4xf32>
152+
return %vb : vector<4xf32>
154153
}
155154
// CHECK-NEXT: %[[UNDEF:[0-9]+]] = llvm.mlir.poison : vector<4xf32>
156155
// CHECK-NEXT: %[[ZERO:[0-9]+]] = llvm.mlir.constant(0 : i32) : i32
157156
// CHECK-NEXT: %[[V:[0-9]+]] = llvm.insertelement %[[ELT]], %[[UNDEF]][%[[ZERO]] : i32] : vector<4xf32>
158157
// CHECK-NEXT: %[[SPLAT:[0-9]+]] = llvm.shufflevector %[[V]], %[[UNDEF]] [0, 0, 0, 0]
159-
// CHECK-NEXT: %[[SCALE:[0-9]+]] = arith.mulf %[[VEC]], %[[SPLAT]] : vector<4xf32>
160-
// CHECK-NEXT: return %[[SCALE]] : vector<4xf32>
158+
// CHECK-NEXT: return %[[SPLAT]] : vector<4xf32>
161159

162160
// -----
163161

164-
// CHECK-LABEL: @broadcast_scalar_scalable
162+
// CHECK-LABEL: @broadcast_scalable_vec1d_from_scalar
165163
// CHECK-SAME: %[[VEC:[0-9a-zA-Z]+]]: vector<[4]xf32>
166164
// CHECK-SAME: %[[ELT:[0-9a-zA-Z]+]]: f32
167-
func.func @broadcast_scalar_scalable(%vec: vector<[4]xf32>, %elt: f32) -> vector<[4]xf32> {
165+
func.func @broadcast_scalable_vec1d_from_scalar(%vec: vector<[4]xf32>, %elt: f32) -> vector<[4]xf32> {
168166
%vb = vector.broadcast %elt : f32 to vector<[4]xf32>
169-
%r = arith.mulf %vec, %vb : vector<[4]xf32>
170-
return %r : vector<[4]xf32>
167+
return %vb : vector<[4]xf32>
171168
}
172169
// CHECK-NEXT: %[[UNDEF:[0-9]+]] = llvm.mlir.poison : vector<[4]xf32>
173170
// CHECK-NEXT: %[[ZERO:[0-9]+]] = llvm.mlir.constant(0 : i32) : i32
174171
// CHECK-NEXT: %[[V:[0-9]+]] = llvm.insertelement %[[ELT]], %[[UNDEF]][%[[ZERO]] : i32] : vector<[4]xf32>
175172
// CHECK-NEXT: %[[SPLAT:[0-9]+]] = llvm.shufflevector %[[V]], %[[UNDEF]] [0, 0, 0, 0]
176-
// CHECK-NEXT: %[[SCALE:[0-9]+]] = arith.mulf %[[VEC]], %[[SPLAT]] : vector<[4]xf32>
177-
// CHECK-NEXT: return %[[SCALE]] : vector<[4]xf32>
173+
// CHECK-NEXT: return %[[SPLAT]] : vector<[4]xf32>
178174

179175
//===----------------------------------------------------------------------===//
180176
// vector.shuffle
@@ -2287,7 +2283,7 @@ func.func @compress_store_op_index(%arg0: memref<?xindex>, %arg1: vector<11xi1>,
22872283
// vector.splat
22882284
//===----------------------------------------------------------------------===//
22892285

2290-
// vector.splat should be converted to vector.broadcast, which in turn is converted to LLVM.
2286+
// vector.splat is converted to vector.broadcast. Then, vector.broadcast is converted to LLVM.
22912287
// CHECK-LABEL: @splat_0d
22922288
// CHECK-NOT: splat
22932289
// CHECK: return

mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -182,21 +182,20 @@ func.func @broadcast_vec2d_from_vec0d(%arg0: vector<f32>) -> vector<3x2xf32> {
182182
%0 = vector.broadcast %arg0 : vector<f32> to vector<3x2xf32>
183183
return %0 : vector<3x2xf32>
184184
}
185-
186185
// CHECK-LABEL: @broadcast_vec2d_from_vec0d(
187-
// CHECK-SAME: %[[ARG_RANK0:.*]]: vector<f32>)
188-
// CHECK-DAG: %[[ARG_RANK1:.*]] = builtin.unrealized_conversion_cast %[[ARG_RANK0]] : vector<f32> to vector<1xf32>
189-
// CHECK-DAG: %[[ZERO_64:.*]] = llvm.mlir.constant(0 : i64) : i64
190-
// CHECK-DAG: %[[ARG_SCALAR:.*]] = llvm.extractelement %[[ARG_RANK1]][%[[ZERO_64]] : i64] : vector<1xf32>
191-
// CHECK-DAG: %[[UB_POISON:.*]] = ub.poison : vector<3x2xf32>
192-
// CHECK-DAG: %[[FULL_POISON:.*]] = builtin.unrealized_conversion_cast %[[UB_POISON]] {{.*}} !llvm.array<3 x vector<2xf32>>
193-
// CHECK: %[[PART_RANK1:.*]] = llvm.insertelement %[[ARG_SCALAR]]
194-
// CHECK: %[[FULL_RANK1:.*]] = llvm.shufflevector %[[PART_RANK1]]
195-
// CHECK: %[[INSERT1:.*]] = llvm.insertvalue %[[FULL_RANK1]], %[[FULL_POISON]][0] : !llvm.array<3 x vector<2xf32>>
196-
// CHECK: %[[INSERT2:.*]] = llvm.insertvalue %[[FULL_RANK1]], %[[INSERT1]][1] : !llvm.array<3 x vector<2xf32>>
197-
// CHECK: %[[INSERT3:.*]] = llvm.insertvalue %[[FULL_RANK1]], %[[INSERT2]][2] : !llvm.array<3 x vector<2xf32>>
198-
// CHECK: %[[FINAL:.*]] = builtin.unrealized_conversion_cast %[[INSERT3]] : !llvm.array<3 x vector<2xf32>> to vector<3x2xf32>
199-
// CHECK: return %[[FINAL]] : vector<3x2xf32>
186+
// CHECK-SAME: %[[A:.*]]: vector<f32>)
187+
// CHECK: %[[T0:.*]] = builtin.unrealized_conversion_cast %[[A]] : vector<f32> to vector<1xf32>
188+
// CHECK: %[[T1:.*]] = ub.poison : vector<3x2xf32>
189+
// CHECK: %[[T2:.*]] = builtin.unrealized_conversion_cast %[[T1]] : vector<3x2xf32> to !llvm.array<3 x vector<2xf32>>
190+
// CHECK: %[[T4:.*]] = llvm.mlir.constant(0 : i64) : i64
191+
// CHECK: %[[T5:.*]] = llvm.extractelement %[[T0]][%[[T4]] : i64] : vector<1xf32>
192+
// CHECK: %[[T6Insert:.*]] = llvm.insertelement %[[T5]]
193+
// CHECK: %[[T6:.*]] = llvm.shufflevector %[[T6Insert]]
194+
// CHECK: %[[T7:.*]] = llvm.insertvalue %[[T6]], %[[T2]][0] : !llvm.array<3 x vector<2xf32>>
195+
// CHECK: %[[T8:.*]] = llvm.insertvalue %[[T6]], %[[T7]][1] : !llvm.array<3 x vector<2xf32>>
196+
// CHECK: %[[T9:.*]] = llvm.insertvalue %[[T6]], %[[T8]][2] : !llvm.array<3 x vector<2xf32>>
197+
// CHECK: %[[T10:.*]] = builtin.unrealized_conversion_cast %[[T9]] : !llvm.array<3 x vector<2xf32>> to vector<3x2xf32>
198+
// CHECK: return %[[T10]] : vector<3x2xf32>
200199

201200
// -----
202201

@@ -1518,7 +1517,7 @@ func.func @constant_mask_2d() -> vector<4x4xi1> {
15181517
}
15191518

15201519
// CHECK-LABEL: func @constant_mask_2d
1521-
// CHECK: %[[VAL_0:.*]] = arith.constant
1520+
// CHECK: %[[VAL_0:.*]] = arith.constant
15221521
// CHECK-SAME{LITERAL}: dense<[[true, true, false, false], [true, true, false, false], [false, false, false, false], [false, false, false, false]]> : vector<4x4xi1>
15231522
// CHECK: return %[[VAL_0]] : vector<4x4xi1>
15241523

0 commit comments

Comments
 (0)