Skip to content

Commit f32ebe3

Browse files
committed
Remove ThreadID from OpenMPIRBuilder::createBarrier function.
Update Clang tests accordingly.
1 parent 5d99223 commit f32ebe3

File tree

7 files changed

+260
-207
lines changed

7 files changed

+260
-207
lines changed

clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp

Lines changed: 93 additions & 72 deletions
Large diffs are not rendered by default.

clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -447,7 +447,6 @@ void test() {
447447
// CHECK1-NEXT: [[DOTADDR:%.*]] = alloca ptr, align 8
448448
// CHECK1-NEXT: [[DOTADDR1:%.*]] = alloca i32, align 4
449449
// CHECK1-NEXT: [[DOTCNT_ADDR:%.*]] = alloca i32, align 4
450-
// CHECK1-NEXT: [[TMP2:%.*]] = call i32 @__kmpc_global_thread_num(ptr @[[GLOB1]])
451450
// CHECK1-NEXT: store ptr [[TMP0]], ptr [[DOTADDR]], align 8
452451
// CHECK1-NEXT: store i32 [[TMP1]], ptr [[DOTADDR1]], align 4
453452
// CHECK1-NEXT: [[TMP3:%.*]] = call i32 @__kmpc_get_hardware_thread_id_in_block()
@@ -463,6 +462,7 @@ void test() {
463462
// CHECK1-NEXT: [[TMP8:%.*]] = icmp ult i32 [[TMP7]], 2
464463
// CHECK1-NEXT: br i1 [[TMP8]], label [[BODY:%.*]], label [[EXIT:%.*]]
465464
// CHECK1: body:
465+
// CHECK1-NEXT: [[TMP2:%.*]] = call i32 @__kmpc_global_thread_num(ptr @[[GLOB1]])
466466
// CHECK1-NEXT: call void @__kmpc_barrier(ptr @[[GLOB4:[0-9]+]], i32 [[TMP2]])
467467
// CHECK1-NEXT: [[WARP_MASTER:%.*]] = icmp eq i32 [[NVPTX_LANE_ID]], 0
468468
// CHECK1-NEXT: br i1 [[WARP_MASTER]], label [[THEN:%.*]], label [[ELSE:%.*]]
@@ -477,21 +477,22 @@ void test() {
477477
// CHECK1: else:
478478
// CHECK1-NEXT: br label [[IFCONT]]
479479
// CHECK1: ifcont:
480+
// CHECK1-NEXT: [[TMP2:%.*]] = call i32 @__kmpc_global_thread_num(ptr @[[GLOB1]])
480481
// CHECK1-NEXT: call void @__kmpc_barrier(ptr @[[GLOB4]], i32 [[TMP2]])
481482
// CHECK1-NEXT: [[TMP14:%.*]] = load i32, ptr [[DOTADDR1]], align 4
482483
// CHECK1-NEXT: [[IS_ACTIVE_THREAD:%.*]] = icmp ult i32 [[TMP3]], [[TMP14]]
483484
// CHECK1-NEXT: br i1 [[IS_ACTIVE_THREAD]], label [[THEN2:%.*]], label [[ELSE3:%.*]]
484-
// CHECK1: then2:
485+
// CHECK1: then3:
485486
// CHECK1-NEXT: [[TMP15:%.*]] = getelementptr inbounds [32 x i32], ptr addrspace(3) @__openmp_nvptx_data_transfer_temporary_storage, i64 0, i32 [[TMP3]]
486487
// CHECK1-NEXT: [[TMP16:%.*]] = getelementptr inbounds [1 x ptr], ptr [[TMP6]], i64 0, i64 0
487488
// CHECK1-NEXT: [[TMP17:%.*]] = load ptr, ptr [[TMP16]], align 8
488489
// CHECK1-NEXT: [[TMP18:%.*]] = getelementptr i32, ptr [[TMP17]], i32 [[TMP7]]
489490
// CHECK1-NEXT: [[TMP19:%.*]] = load volatile i32, ptr addrspace(3) [[TMP15]], align 4
490491
// CHECK1-NEXT: store i32 [[TMP19]], ptr [[TMP18]], align 4
491492
// CHECK1-NEXT: br label [[IFCONT4:%.*]]
492-
// CHECK1: else3:
493+
// CHECK1: else4:
493494
// CHECK1-NEXT: br label [[IFCONT4]]
494-
// CHECK1: ifcont4:
495+
// CHECK1: ifcont5:
495496
// CHECK1-NEXT: [[TMP20:%.*]] = add nsw i32 [[TMP7]], 1
496497
// CHECK1-NEXT: store i32 [[TMP20]], ptr [[DOTCNT_ADDR]], align 4
497498
// CHECK1-NEXT: br label [[PRECOND]]
@@ -951,7 +952,6 @@ void test() {
951952
// CHECK1-NEXT: [[DOTADDR:%.*]] = alloca ptr, align 8
952953
// CHECK1-NEXT: [[DOTADDR1:%.*]] = alloca i32, align 4
953954
// CHECK1-NEXT: [[DOTCNT_ADDR:%.*]] = alloca i32, align 4
954-
// CHECK1-NEXT: [[TMP2:%.*]] = call i32 @__kmpc_global_thread_num(ptr @[[GLOB1]])
955955
// CHECK1-NEXT: store ptr [[TMP0]], ptr [[DOTADDR]], align 8
956956
// CHECK1-NEXT: store i32 [[TMP1]], ptr [[DOTADDR1]], align 4
957957
// CHECK1-NEXT: [[TMP3:%.*]] = call i32 @__kmpc_get_hardware_thread_id_in_block()
@@ -967,6 +967,7 @@ void test() {
967967
// CHECK1-NEXT: [[TMP8:%.*]] = icmp ult i32 [[TMP7]], 4
968968
// CHECK1-NEXT: br i1 [[TMP8]], label [[BODY:%.*]], label [[EXIT:%.*]]
969969
// CHECK1: body:
970+
// CHECK1-NEXT: [[TMP2:%.*]] = call i32 @__kmpc_global_thread_num(ptr @[[GLOB1]])
970971
// CHECK1-NEXT: call void @__kmpc_barrier(ptr @[[GLOB4]], i32 [[TMP2]])
971972
// CHECK1-NEXT: [[WARP_MASTER:%.*]] = icmp eq i32 [[NVPTX_LANE_ID]], 0
972973
// CHECK1-NEXT: br i1 [[WARP_MASTER]], label [[THEN:%.*]], label [[ELSE:%.*]]
@@ -981,21 +982,22 @@ void test() {
981982
// CHECK1: else:
982983
// CHECK1-NEXT: br label [[IFCONT]]
983984
// CHECK1: ifcont:
985+
// CHECK1-NEXT: [[TMP2:%.*]] = call i32 @__kmpc_global_thread_num(ptr @[[GLOB1]])
984986
// CHECK1-NEXT: call void @__kmpc_barrier(ptr @[[GLOB4]], i32 [[TMP2]])
985987
// CHECK1-NEXT: [[TMP14:%.*]] = load i32, ptr [[DOTADDR1]], align 4
986988
// CHECK1-NEXT: [[IS_ACTIVE_THREAD:%.*]] = icmp ult i32 [[TMP3]], [[TMP14]]
987989
// CHECK1-NEXT: br i1 [[IS_ACTIVE_THREAD]], label [[THEN2:%.*]], label [[ELSE3:%.*]]
988-
// CHECK1: then2:
990+
// CHECK1: then3:
989991
// CHECK1-NEXT: [[TMP15:%.*]] = getelementptr inbounds [32 x i32], ptr addrspace(3) @__openmp_nvptx_data_transfer_temporary_storage, i64 0, i32 [[TMP3]]
990992
// CHECK1-NEXT: [[TMP16:%.*]] = getelementptr inbounds [1 x ptr], ptr [[TMP6]], i64 0, i64 0
991993
// CHECK1-NEXT: [[TMP17:%.*]] = load ptr, ptr [[TMP16]], align 8
992994
// CHECK1-NEXT: [[TMP18:%.*]] = getelementptr i32, ptr [[TMP17]], i32 [[TMP7]]
993995
// CHECK1-NEXT: [[TMP19:%.*]] = load volatile i32, ptr addrspace(3) [[TMP15]], align 4
994996
// CHECK1-NEXT: store i32 [[TMP19]], ptr [[TMP18]], align 4
995997
// CHECK1-NEXT: br label [[IFCONT4:%.*]]
996-
// CHECK1: else3:
998+
// CHECK1: else4:
997999
// CHECK1-NEXT: br label [[IFCONT4]]
998-
// CHECK1: ifcont4:
1000+
// CHECK1: ifcont5:
9991001
// CHECK1-NEXT: [[TMP20:%.*]] = add nsw i32 [[TMP7]], 1
10001002
// CHECK1-NEXT: store i32 [[TMP20]], ptr [[DOTCNT_ADDR]], align 4
10011003
// CHECK1-NEXT: br label [[PRECOND]]

0 commit comments

Comments
 (0)