Skip to content

Commit 887a0e6

Browse files
committed
[MLIR][GPUToLLVMSPV] Fix subgroup ops mangling
1 parent 6575154 commit 887a0e6

File tree

2 files changed

+12
-12
lines changed

2 files changed

+12
-12
lines changed

mlir/lib/Conversion/GPUToLLVMSPV/GPUToLLVMSPV.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -401,13 +401,13 @@ struct GPUSubgroupOpConversion final : ConvertOpToLLVMPattern<SubgroupOp> {
401401
ConversionPatternRewriter &rewriter) const final {
402402
constexpr StringRef funcName = [] {
403403
if constexpr (std::is_same_v<SubgroupOp, gpu::SubgroupIdOp>) {
404-
return "_Z16get_sub_group_id";
404+
return "_Z16get_sub_group_idv";
405405
} else if constexpr (std::is_same_v<SubgroupOp, gpu::LaneIdOp>) {
406-
return "_Z22get_sub_group_local_id";
406+
return "_Z22get_sub_group_local_idv";
407407
} else if constexpr (std::is_same_v<SubgroupOp, gpu::NumSubgroupsOp>) {
408-
return "_Z18get_num_sub_groups";
408+
return "_Z18get_num_sub_groupsv";
409409
} else if constexpr (std::is_same_v<SubgroupOp, gpu::SubgroupSizeOp>) {
410-
return "_Z18get_sub_group_size";
410+
return "_Z18get_sub_group_sizev";
411411
}
412412
}();
413413

mlir/test/Conversion/GPUToLLVMSPV/gpu-to-llvm-spv.mlir

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -546,28 +546,28 @@ gpu.module @kernels {
546546

547547
// Lowering of subgroup query operations
548548

549-
// CHECK-DAG: llvm.func spir_funccc @_Z18get_sub_group_size() -> i32 attributes {no_unwind, will_return}
550-
// CHECK-DAG: llvm.func spir_funccc @_Z18get_num_sub_groups() -> i32 attributes {no_unwind, will_return}
551-
// CHECK-DAG: llvm.func spir_funccc @_Z22get_sub_group_local_id() -> i32 attributes {no_unwind, will_return}
552-
// CHECK-DAG: llvm.func spir_funccc @_Z16get_sub_group_id() -> i32 attributes {no_unwind, will_return}
549+
// CHECK-DAG: llvm.func spir_funccc @_Z18get_sub_group_sizev() -> i32 attributes {no_unwind, will_return}
550+
// CHECK-DAG: llvm.func spir_funccc @_Z18get_num_sub_groupsv() -> i32 attributes {no_unwind, will_return}
551+
// CHECK-DAG: llvm.func spir_funccc @_Z22get_sub_group_local_idv() -> i32 attributes {no_unwind, will_return}
552+
// CHECK-DAG: llvm.func spir_funccc @_Z16get_sub_group_idv() -> i32 attributes {no_unwind, will_return}
553553

554554

555555
gpu.module @subgroup_operations {
556556
// CHECK-LABEL: @gpu_subgroup
557557
func.func @gpu_subgroup() {
558-
// CHECK: %[[SG_ID:.*]] = llvm.call spir_funccc @_Z16get_sub_group_id() {no_unwind, will_return} : () -> i32
558+
// CHECK: %[[SG_ID:.*]] = llvm.call spir_funccc @_Z16get_sub_group_idv() {no_unwind, will_return} : () -> i32
559559
// CHECK-32-NOT: llvm.zext
560560
// CHECK-64 %{{.*}} = llvm.zext %[[SG_ID]] : i32 to i64
561561
%0 = gpu.subgroup_id : index
562-
// CHECK: %[[SG_LOCAL_ID:.*]] = llvm.call spir_funccc @_Z22get_sub_group_local_id() {no_unwind, will_return} : () -> i32
562+
// CHECK: %[[SG_LOCAL_ID:.*]] = llvm.call spir_funccc @_Z22get_sub_group_local_idv() {no_unwind, will_return} : () -> i32
563563
// CHECK-32-NOT: llvm.zext
564564
// CHECK-64: %{{.*}} = llvm.zext %[[SG_LOCAL_ID]] : i32 to i64
565565
%1 = gpu.lane_id
566-
// CHECK: %[[NUM_SGS:.*]] = llvm.call spir_funccc @_Z18get_num_sub_groups() {no_unwind, will_return} : () -> i32
566+
// CHECK: %[[NUM_SGS:.*]] = llvm.call spir_funccc @_Z18get_num_sub_groupsv() {no_unwind, will_return} : () -> i32
567567
// CHECK-32-NOT: llvm.zext
568568
// CHECK-64: %{{.*}} = llvm.zext %[[NUM_SGS]] : i32 to i64
569569
%2 = gpu.num_subgroups : index
570-
// CHECK: %[[SG_SIZE:.*]] = llvm.call spir_funccc @_Z18get_sub_group_size() {no_unwind, will_return} : () -> i32
570+
// CHECK: %[[SG_SIZE:.*]] = llvm.call spir_funccc @_Z18get_sub_group_sizev() {no_unwind, will_return} : () -> i32
571571
// CHECK-32-NOT: llvm.zext
572572
// CHECK-64: %{{.*}} = llvm.zext %[[SG_SIZE]] : i32 to i64
573573
%3 = gpu.subgroup_size : index

0 commit comments

Comments
 (0)