llvmbot wrote:

<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: Kevin Sala Penades (kevinsala)

<details>
<summary>Changes</summary>

This commit switches the `__kmpc_parallel_51` to `__kmpc_parallel_60`, and adds 
the strict value for the number of threads.

This will be used by #<!-- -->163565.

---

Patch is 538.23 KiB, truncated to 20.00 KiB below, full version: 
https://github.com/llvm/llvm-project/pull/171082.diff


59 Files Affected:

- (modified) clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp (+4-2) 
- (modified) clang/test/OpenMP/amdgcn_target_device_vla.cpp (+3-3) 
- (modified) clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c (+1-1) 
- (modified) clang/test/OpenMP/declare_target_codegen_globalization.cpp (+1-1) 
- (modified) clang/test/OpenMP/metadirective_device_arch_codegen.cpp (+1-1) 
- (modified) clang/test/OpenMP/metadirective_device_isa_codegen_amdgcn.cpp 
(+2-2) 
- (modified) clang/test/OpenMP/nvptx_SPMD_codegen.cpp (+192-192) 
- (modified) clang/test/OpenMP/nvptx_allocate_codegen.cpp (+1-1) 
- (modified) clang/test/OpenMP/nvptx_data_sharing.cpp (+2-2) 
- (modified) 
clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp (+2-2) 
- (modified) clang/test/OpenMP/nvptx_lambda_capturing.cpp (+6-6) 
- (modified) clang/test/OpenMP/nvptx_multi_target_parallel_codegen.cpp (+4-4) 
- (modified) clang/test/OpenMP/nvptx_nested_parallel_codegen.cpp (+4-4) 
- (modified) clang/test/OpenMP/nvptx_parallel_codegen.cpp (+10-10) 
- (modified) clang/test/OpenMP/nvptx_parallel_for_codegen.cpp (+1-1) 
- (modified) clang/test/OpenMP/nvptx_target_codegen.cpp (+4-4) 
- (modified) clang/test/OpenMP/nvptx_target_parallel_codegen.cpp (+4-4) 
- (modified) clang/test/OpenMP/nvptx_target_parallel_num_threads_codegen.cpp 
(+4-4) 
- (modified) clang/test/OpenMP/nvptx_target_parallel_proc_bind_codegen.cpp 
(+18-18) 
- (modified) clang/test/OpenMP/nvptx_target_parallel_reduction_codegen.cpp 
(+9-9) 
- (modified) 
clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp 
(+2-2) 
- (modified) clang/test/OpenMP/nvptx_target_teams_codegen.cpp (+4-4) 
- (modified) clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp (+2-2) 
- (modified) 
clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp 
(+18-18) 
- (modified) 
clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
 (+2-2) 
- (modified) 
clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp 
(+8-8) 
- (modified) clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp 
(+15-15) 
- (modified) clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp (+3-3) 
- (modified) clang/test/OpenMP/reduction_implicit_map.cpp (+1-1) 
- (modified) clang/test/OpenMP/target_parallel_debug_codegen.cpp (+3-3) 
- (modified) clang/test/OpenMP/target_parallel_for_debug_codegen.cpp (+3-3) 
- (modified) clang/test/OpenMP/target_parallel_generic_loop_codegen-3.cpp 
(+3-3) 
- (modified) clang/test/OpenMP/target_parallel_generic_loop_codegen.cpp (+1-1) 
- (modified) clang/test/OpenMP/target_teams_generic_loop_codegen.cpp (+1-1) 
- (modified) 
clang/test/OpenMP/target_teams_generic_loop_codegen_as_parallel_for.cpp (+4-4) 
- (added) clang/test/OpenMP/update.sh (+40) 
- (modified) llvm/include/llvm/Frontend/OpenMP/OMPKinds.def (+3-3) 
- (modified) llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp (+9-8) 
- (modified) llvm/lib/Transforms/IPO/OpenMPOpt.cpp (+17-17) 
- (modified) llvm/test/Transforms/OpenMP/add_attributes.ll (+4-4) 
- (modified) llvm/test/Transforms/OpenMP/custom_state_machines.ll (+73-73) 
- (modified) llvm/test/Transforms/OpenMP/custom_state_machines_pre_lto.ll 
(+103-103) 
- (modified) llvm/test/Transforms/OpenMP/custom_state_machines_remarks.ll 
(+6-6) 
- (modified) 
llvm/test/Transforms/OpenMP/get_hardware_num_threads_in_block_fold.ll (+3-3) 
- (modified) 
llvm/test/Transforms/OpenMP/gpu_state_machine_function_ptr_replacement.ll 
(+7-7) 
- (modified) llvm/test/Transforms/OpenMP/indirect_call_kernel_info_crash.ll 
(+2-2) 
- (modified) llvm/test/Transforms/OpenMP/is_spmd_exec_mode_fold.ll (+3-3) 
- (modified) llvm/test/Transforms/OpenMP/nested_parallelism.ll (+13-13) 
- (modified) llvm/test/Transforms/OpenMP/parallel_level_fold.ll (+4-4) 
- (modified) llvm/test/Transforms/OpenMP/spmdization.ll (+36-36) 
- (modified) llvm/test/Transforms/OpenMP/spmdization_assumes.ll (+3-3) 
- (modified) llvm/test/Transforms/OpenMP/spmdization_constant_prop.ll (+2-2) 
- (modified) llvm/test/Transforms/OpenMP/spmdization_guarding.ll (+4-4) 
- (modified) 
llvm/test/Transforms/OpenMP/spmdization_guarding_two_reaching_kernels.ll (+4-4) 
- (modified) llvm/test/Transforms/OpenMP/spmdization_indirect.ll (+13-13) 
- (modified) 
llvm/test/Transforms/OpenMP/spmdization_no_guarding_two_reaching_kernels.ll 
(+4-4) 
- (modified) llvm/test/Transforms/OpenMP/spmdization_remarks.ll (+6-6) 
- (added) llvm/test/Transforms/OpenMP/update.sh (+40) 
- (modified) openmp/device/src/Parallelism.cpp (+3-3) 


``````````diff
diff --git a/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp 
b/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
index 2f69a53787f0c..0c8acbc7002e8 100644
--- a/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
+++ b/clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
@@ -1303,9 +1303,11 @@ void CGOpenMPRuntimeGPU::emitParallelCall(
         ID,
         Bld.CreateBitOrPointerCast(CapturedVarsAddrs.emitRawPointer(CGF),
                                    CGF.VoidPtrPtrTy),
-        llvm::ConstantInt::get(CGM.SizeTy, CapturedVars.size())};
+        llvm::ConstantInt::get(CGM.SizeTy, CapturedVars.size()),
+        llvm::ConstantInt::get(CGF.Int32Ty, 0)};
+
     CGF.EmitRuntimeCall(OMPBuilder.getOrCreateRuntimeFunction(
-                            CGM.getModule(), OMPRTL___kmpc_parallel_51),
+                            CGM.getModule(), OMPRTL___kmpc_parallel_60),
                         Args);
   };
 
diff --git a/clang/test/OpenMP/amdgcn_target_device_vla.cpp 
b/clang/test/OpenMP/amdgcn_target_device_vla.cpp
index 58fef517a9e72..248555204e729 100644
--- a/clang/test/OpenMP/amdgcn_target_device_vla.cpp
+++ b/clang/test/OpenMP/amdgcn_target_device_vla.cpp
@@ -327,7 +327,7 @@ int main() {
 // CHECK-NEXT:    store ptr [[TMP1]], ptr [[TMP29]], align 8
 // CHECK-NEXT:    [[TMP30:%.*]] = load ptr, ptr 
[[DOTGLOBAL_TID__ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP31:%.*]] = load i32, ptr [[TMP30]], align 4
-// CHECK-NEXT:    call void @__kmpc_parallel_51(ptr addrspacecast (ptr 
addrspace(1) @[[GLOB1]] to ptr), i32 [[TMP31]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo2v_l30_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS_ASCAST]], i64 5)
+// CHECK-NEXT:    call void @__kmpc_parallel_60(ptr addrspacecast (ptr 
addrspace(1) @[[GLOB1]] to ptr), i32 [[TMP31]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo2v_l30_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS_ASCAST]], i64 5, i32 0)
 // CHECK-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK:       omp.inner.for.inc:
 // CHECK-NEXT:    [[TMP32:%.*]] = load i32, ptr [[DOTOMP_IV_ASCAST]], align 4
@@ -701,7 +701,7 @@ int main() {
 // CHECK-NEXT:    store ptr [[A]], ptr [[TMP27]], align 8
 // CHECK-NEXT:    [[TMP28:%.*]] = load ptr, ptr 
[[DOTGLOBAL_TID__ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP29:%.*]] = load i32, ptr [[TMP28]], align 4
-// CHECK-NEXT:    call void @__kmpc_parallel_51(ptr addrspacecast (ptr 
addrspace(1) @[[GLOB1]] to ptr), i32 [[TMP29]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo3v_l52_omp_outlined_omp_outlined,
 ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo3v_l52_omp_outlined_omp_outlined_wrapper,
 ptr [[CAPTURED_VARS_ADDRS_ASCAST]], i64 3)
+// CHECK-NEXT:    call void @__kmpc_parallel_60(ptr addrspacecast (ptr 
addrspace(1) @[[GLOB1]] to ptr), i32 [[TMP29]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo3v_l52_omp_outlined_omp_outlined,
 ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo3v_l52_omp_outlined_omp_outlined_wrapper,
 ptr [[CAPTURED_VARS_ADDRS_ASCAST]], i64 3, i32 0)
 // CHECK-NEXT:    store i32 0, ptr [[J_ASCAST]], align 4
 // CHECK-NEXT:    br label [[FOR_COND:%.*]]
 // CHECK:       for.cond:
@@ -1070,7 +1070,7 @@ int main() {
 // CHECK-NEXT:    store ptr [[A]], ptr [[TMP28]], align 8
 // CHECK-NEXT:    [[TMP29:%.*]] = load ptr, ptr 
[[DOTGLOBAL_TID__ADDR_ASCAST]], align 8
 // CHECK-NEXT:    [[TMP30:%.*]] = load i32, ptr [[TMP29]], align 4
-// CHECK-NEXT:    call void @__kmpc_parallel_51(ptr addrspacecast (ptr 
addrspace(1) @[[GLOB1]] to ptr), i32 [[TMP30]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo4v_l76_omp_outlined_omp_outlined,
 ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo4v_l76_omp_outlined_omp_outlined_wrapper,
 ptr [[CAPTURED_VARS_ADDRS_ASCAST]], i64 3)
+// CHECK-NEXT:    call void @__kmpc_parallel_60(ptr addrspacecast (ptr 
addrspace(1) @[[GLOB1]] to ptr), i32 [[TMP30]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo4v_l76_omp_outlined_omp_outlined,
 ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z4foo4v_l76_omp_outlined_omp_outlined_wrapper,
 ptr [[CAPTURED_VARS_ADDRS_ASCAST]], i64 3, i32 0)
 // CHECK-NEXT:    store i32 0, ptr [[J_ASCAST]], align 4
 // CHECK-NEXT:    br label [[FOR_COND:%.*]]
 // CHECK:       for.cond:
diff --git a/clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c 
b/clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
index cc0cc0def48b8..e707ad4dbeb51 100644
--- a/clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
+++ b/clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
@@ -158,7 +158,7 @@ void write_to_aligned_array(int *a, int N) {
 // CHECK-AMD-NEXT:    store ptr [[TMP19]], ptr [[TMP26]], align 8
 // CHECK-AMD-NEXT:    [[TMP27:%.*]] = load ptr, ptr 
[[DOTGLOBAL_TID__ADDR_ASCAST]], align 8
 // CHECK-AMD-NEXT:    [[TMP28:%.*]] = load i32, ptr [[TMP27]], align 4
-// CHECK-AMD-NEXT:    call void @__kmpc_parallel_51(ptr addrspacecast (ptr 
addrspace(1) @[[GLOB1]] to ptr), i32 [[TMP28]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}_write_to_aligned_array_l14_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS_ASCAST]], i64 4)
+// CHECK-AMD-NEXT:    call void @__kmpc_parallel_60(ptr addrspacecast (ptr 
addrspace(1) @[[GLOB1]] to ptr), i32 [[TMP28]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}_write_to_aligned_array_l14_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS_ASCAST]], i64 4, i32 0)
 // CHECK-AMD-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-AMD:       omp.inner.for.inc:
 // CHECK-AMD-NEXT:    [[TMP29:%.*]] = load i32, ptr [[DOTOMP_IV_ASCAST]], 
align 4
diff --git a/clang/test/OpenMP/declare_target_codegen_globalization.cpp 
b/clang/test/OpenMP/declare_target_codegen_globalization.cpp
index b3c810b4b1455..f4c9944ba58cb 100644
--- a/clang/test/OpenMP/declare_target_codegen_globalization.cpp
+++ b/clang/test/OpenMP/declare_target_codegen_globalization.cpp
@@ -40,7 +40,7 @@ int maini1() {
 // CHECK1-NEXT:    [[TMP2:%.*]] = call i32 @__kmpc_global_thread_num(ptr 
@[[GLOB1:[0-9]+]])
 // CHECK1-NEXT:    [[TMP3:%.*]] = getelementptr inbounds [1 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 0
 // CHECK1-NEXT:    store ptr [[TMP0]], ptr [[TMP3]], align 8
-// CHECK1-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 [[TMP2]], 
i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z6maini1v_l16_omp_outlined, ptr 
null, ptr [[CAPTURED_VARS_ADDRS]], i64 1)
+// CHECK1-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 [[TMP2]], 
i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z6maini1v_l16_omp_outlined, ptr 
null, ptr [[CAPTURED_VARS_ADDRS]], i64 1, i32 0)
 // CHECK1-NEXT:    call void @__kmpc_target_deinit()
 // CHECK1-NEXT:    ret void
 // CHECK1:       worker.exit:
diff --git a/clang/test/OpenMP/metadirective_device_arch_codegen.cpp 
b/clang/test/OpenMP/metadirective_device_arch_codegen.cpp
index 1d5584de67162..5e5b1539b5c82 100644
--- a/clang/test/OpenMP/metadirective_device_arch_codegen.cpp
+++ b/clang/test/OpenMP/metadirective_device_arch_codegen.cpp
@@ -49,7 +49,7 @@ int metadirective1() {
 // CHECK: %{{[0-9]}} = call{{.*}} i32 @__kmpc_target_init
 // CHECK: user_code.entry:
 // CHECK: call{{.*}} void @[[METADIRECTIVE]]_omp_outlined
-// CHECK-NOT: call{{.*}} void @__kmpc_parallel_51
+// CHECK-NOT: call{{.*}} void @__kmpc_parallel_60
 // CHECK: ret void
 
 
diff --git a/clang/test/OpenMP/metadirective_device_isa_codegen_amdgcn.cpp 
b/clang/test/OpenMP/metadirective_device_isa_codegen_amdgcn.cpp
index cbb75c4a68376..27d906c6a01f3 100644
--- a/clang/test/OpenMP/metadirective_device_isa_codegen_amdgcn.cpp
+++ b/clang/test/OpenMP/metadirective_device_isa_codegen_amdgcn.cpp
@@ -24,7 +24,7 @@ int amdgcn_device_isa_selected() {
 
 // CHECK: define weak_odr protected amdgpu_kernel void 
@__omp_offloading_{{.*}}amdgcn_device_isa_selected
 // CHECK: user_code.entry:
-// CHECK: call void @__kmpc_parallel_51
+// CHECK: call void @__kmpc_parallel_60
 // CHECK-NOT: call i32 @__kmpc_single
 // CHECK: ret void
 
@@ -47,7 +47,7 @@ int amdgcn_device_isa_not_selected() {
 // CHECK: define weak_odr protected amdgpu_kernel void 
@__omp_offloading_{{.*}}amdgcn_device_isa_not_selected
 // CHECK: user_code.entry:
 // CHECK: call i32 @__kmpc_single
-// CHECK-NOT: call void @__kmpc_parallel_51
+// CHECK-NOT: call void @__kmpc_parallel_60
 // CHECK: ret void
 
 #endif
diff --git a/clang/test/OpenMP/nvptx_SPMD_codegen.cpp 
b/clang/test/OpenMP/nvptx_SPMD_codegen.cpp
index 54f7694b55da3..59fd373428556 100644
--- a/clang/test/OpenMP/nvptx_SPMD_codegen.cpp
+++ b/clang/test/OpenMP/nvptx_SPMD_codegen.cpp
@@ -373,7 +373,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP19:%.*]] = load i8, ptr [[DOTCAPTURE_EXPR__ADDR]], 
align 1, !llvm.access.group [[ACC_GRP221]]
 // CHECK-64-NEXT:    [[TOBOOL3:%.*]] = trunc i8 [[TMP19]] to i1
 // CHECK-64-NEXT:    [[TMP20:%.*]] = zext i1 [[TOBOOL3]] to i32
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 [[TMP20]], i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l15_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 3), !llvm.access.group 
[[ACC_GRP221]]
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 [[TMP20]], i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l15_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 3, i32 0), !llvm.access.group 
[[ACC_GRP221]]
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP21:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4, 
!llvm.access.group [[ACC_GRP221]]
@@ -432,7 +432,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP43:%.*]] = load i8, ptr [[DOTCAPTURE_EXPR__ADDR]], 
align 1
 // CHECK-64-NEXT:    [[TOBOOL18:%.*]] = trunc i8 [[TMP43]] to i1
 // CHECK-64-NEXT:    [[TMP44:%.*]] = zext i1 [[TOBOOL18]] to i32
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 [[TMP44]], i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l15_omp_outlined_omp_outlined1,
 ptr null, ptr [[CAPTURED_VARS_ADDRS17]], i64 3)
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 [[TMP44]], i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l15_omp_outlined_omp_outlined1,
 ptr null, ptr [[CAPTURED_VARS_ADDRS17]], i64 3, i32 0)
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC19:%.*]]
 // CHECK-64:       omp.inner.for.inc19:
 // CHECK-64-NEXT:    [[TMP45:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4
@@ -764,7 +764,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP12:%.*]] = getelementptr inbounds [2 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 1
 // CHECK-64-NEXT:    [[TMP13:%.*]] = inttoptr i64 [[TMP9]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP13]], ptr [[TMP12]], align 8, 
!llvm.access.group [[ACC_GRP235]]
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l18_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2), !llvm.access.group 
[[ACC_GRP235]]
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l18_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2, i32 0), !llvm.access.group 
[[ACC_GRP235]]
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP14:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4, 
!llvm.access.group [[ACC_GRP235]]
@@ -957,7 +957,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP12:%.*]] = getelementptr inbounds [2 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 1
 // CHECK-64-NEXT:    [[TMP13:%.*]] = inttoptr i64 [[TMP9]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP13]], ptr [[TMP12]], align 8, 
!llvm.access.group [[ACC_GRP241]]
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l21_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2), !llvm.access.group 
[[ACC_GRP241]]
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l21_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2, i32 0), !llvm.access.group 
[[ACC_GRP241]]
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP14:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4, 
!llvm.access.group [[ACC_GRP241]]
@@ -1141,7 +1141,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP12:%.*]] = getelementptr inbounds [2 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 1
 // CHECK-64-NEXT:    [[TMP13:%.*]] = inttoptr i64 [[TMP9]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP13]], ptr [[TMP12]], align 8, 
!llvm.access.group [[ACC_GRP247]]
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l24_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2), !llvm.access.group 
[[ACC_GRP247]]
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l24_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2, i32 0), !llvm.access.group 
[[ACC_GRP247]]
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP14:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4, 
!llvm.access.group [[ACC_GRP247]]
@@ -1333,7 +1333,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP12:%.*]] = getelementptr inbounds [2 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 1
 // CHECK-64-NEXT:    [[TMP13:%.*]] = inttoptr i64 [[TMP9]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP13]], ptr [[TMP12]], align 8, 
!llvm.access.group [[ACC_GRP253]]
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l27_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2), !llvm.access.group 
[[ACC_GRP253]]
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l27_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2, i32 0), !llvm.access.group 
[[ACC_GRP253]]
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP14:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4, 
!llvm.access.group [[ACC_GRP253]]
@@ -1525,7 +1525,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP12:%.*]] = getelementptr inbounds [2 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 1
 // CHECK-64-NEXT:    [[TMP13:%.*]] = inttoptr i64 [[TMP9]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP13]], ptr [[TMP12]], align 8, 
!llvm.access.group [[ACC_GRP259]]
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l30_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2), !llvm.access.group 
[[ACC_GRP259]]
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l30_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2, i32 0), !llvm.access.group 
[[ACC_GRP259]]
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP14:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4, 
!llvm.access.group [[ACC_GRP259]]
@@ -1717,7 +1717,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP12:%.*]] = getelementptr inbounds [2 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 1
 // CHECK-64-NEXT:    [[TMP13:%.*]] = inttoptr i64 [[TMP9]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP13]], ptr [[TMP12]], align 8, 
!llvm.access.group [[ACC_GRP265]]
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l33_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2), !llvm.access.group 
[[ACC_GRP265]]
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l33_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2, i32 0), !llvm.access.group 
[[ACC_GRP265]]
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP14:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4, 
!llvm.access.group [[ACC_GRP265]]
@@ -1925,7 +1925,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP16:%.*]] = getelementptr inbounds [3 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 2
 // CHECK-64-NEXT:    [[TMP17:%.*]] = inttoptr i64 [[TMP11]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP17]], ptr [[TMP16]], align 8
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l37_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 3)
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l37_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 3, i32 0)
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP18:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4
@@ -2117,7 +2117,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP12:%.*]] = getelementptr inbounds [2 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 1
 // CHECK-64-NEXT:    [[TMP13:%.*]] = inttoptr i64 [[TMP9]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP13]], ptr [[TMP12]], align 8
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l40_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2)
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l40_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2, i32 0)
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP14:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4
@@ -2296,7 +2296,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP12:%.*]] = getelementptr inbounds [2 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 1
 // CHECK-64-NEXT:    [[TMP13:%.*]] = inttoptr i64 [[TMP9]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP13]], ptr [[TMP12]], align 8
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l43_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2)
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l43_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2, i32 0)
 // CHECK-64-NEXT:    br label [[OMP_INNER_FOR_INC:%.*]]
 // CHECK-64:       omp.inner.for.inc:
 // CHECK-64-NEXT:    [[TMP14:%.*]] = load i32, ptr [[DOTOMP_IV]], align 4
@@ -2466,7 +2466,7 @@ int a;
 // CHECK-64-NEXT:    [[TMP12:%.*]] = getelementptr inbounds [2 x ptr], ptr 
[[CAPTURED_VARS_ADDRS]], i64 0, i64 1
 // CHECK-64-NEXT:    [[TMP13:%.*]] = inttoptr i64 [[TMP9]] to ptr
 // CHECK-64-NEXT:    store ptr [[TMP13]], ptr [[TMP12]], align 8
-// CHECK-64-NEXT:    call void @__kmpc_parallel_51(ptr @[[GLOB1]], i32 
[[TMP1]], i32 1, i32 -1, i32 -1, ptr 
@{{__omp_offloading_[0-9a-z]+_[0-9a-z]+}}__Z3foov_l46_omp_outlined_omp_outlined,
 ptr null, ptr [[CAPTURED_VARS_ADDRS]], i64 2)
+// CHECK-64-NEXT:    call void @__kmpc_parallel_60(ptr @[[GLOB1]]...
[truncated]

``````````

</details>


https://github.com/llvm/llvm-project/pull/171082
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to