[PATCH] D63010: [OpenMP] Add task alloc function
This revision was automatically updated to reflect the committed changes. Closed by commit rL363449: [OpenMP] Add task alloc function (authored by gbercea, committed by ). Herald added a project: LLVM. Herald added a subscriber: llvm-commits. Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63010/new/ https://reviews.llvm.org/D63010 Files: openmp/trunk/runtime/src/kmp.h openmp/trunk/runtime/src/kmp_tasking.cpp Index: openmp/trunk/runtime/src/kmp.h === --- openmp/trunk/runtime/src/kmp.h +++ openmp/trunk/runtime/src/kmp.h @@ -3779,6 +3779,12 @@ size_t sizeof_kmp_task_t, size_t sizeof_shareds, kmp_routine_entry_t task_entry); +KMP_EXPORT kmp_task_t *__kmpc_omp_target_task_alloc(ident_t *loc_ref, kmp_int32 gtid, +kmp_int32 flags, +size_t sizeof_kmp_task_t, +size_t sizeof_shareds, +kmp_routine_entry_t task_entry, +kmp_int64 device_id); KMP_EXPORT void __kmpc_omp_task_begin_if0(ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *task); KMP_EXPORT void __kmpc_omp_task_complete_if0(ident_t *loc_ref, kmp_int32 gtid, Index: openmp/trunk/runtime/src/kmp_tasking.cpp === --- openmp/trunk/runtime/src/kmp_tasking.cpp +++ openmp/trunk/runtime/src/kmp_tasking.cpp @@ -1398,6 +1398,16 @@ return retval; } +kmp_task_t *__kmpc_omp_target_task_alloc(ident_t *loc_ref, kmp_int32 gtid, + kmp_int32 flags, + size_t sizeof_kmp_task_t, + size_t sizeof_shareds, + kmp_routine_entry_t task_entry, + kmp_int64 device_id) { + return __kmpc_omp_task_alloc(loc_ref, gtid, flags, sizeof_kmp_task_t, + sizeof_shareds, task_entry); +} + #if OMP_50_ENABLED /*! @ingroup TASKING Index: openmp/trunk/runtime/src/kmp.h === --- openmp/trunk/runtime/src/kmp.h +++ openmp/trunk/runtime/src/kmp.h @@ -3779,6 +3779,12 @@ size_t sizeof_kmp_task_t, size_t sizeof_shareds, kmp_routine_entry_t task_entry); +KMP_EXPORT kmp_task_t *__kmpc_omp_target_task_alloc(ident_t *loc_ref, kmp_int32 gtid, +kmp_int32 flags, +size_t sizeof_kmp_task_t, +size_t sizeof_shareds, +kmp_routine_entry_t task_entry, +kmp_int64 device_id); KMP_EXPORT void __kmpc_omp_task_begin_if0(ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *task); KMP_EXPORT void __kmpc_omp_task_complete_if0(ident_t *loc_ref, kmp_int32 gtid, Index: openmp/trunk/runtime/src/kmp_tasking.cpp === --- openmp/trunk/runtime/src/kmp_tasking.cpp +++ openmp/trunk/runtime/src/kmp_tasking.cpp @@ -1398,6 +1398,16 @@ return retval; } +kmp_task_t *__kmpc_omp_target_task_alloc(ident_t *loc_ref, kmp_int32 gtid, + kmp_int32 flags, + size_t sizeof_kmp_task_t, + size_t sizeof_shareds, + kmp_routine_entry_t task_entry, + kmp_int64 device_id) { + return __kmpc_omp_task_alloc(loc_ref, gtid, flags, sizeof_kmp_task_t, + sizeof_shareds, task_entry); +} + #if OMP_50_ENABLED /*! @ingroup TASKING ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D63010: [OpenMP] Add task alloc function
RaviNarayanaswamy added a comment. LGTM Repository: rOMP OpenMP CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63010/new/ https://reviews.llvm.org/D63010 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D63010: [OpenMP] Add task alloc function
hbae accepted this revision. hbae added a comment. LGTM. Repository: rOMP OpenMP CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63010/new/ https://reviews.llvm.org/D63010 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D63010: [OpenMP] Add task alloc function
gtbercea added a comment. ping Repository: rOMP OpenMP CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63010/new/ https://reviews.llvm.org/D63010 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D63010: [OpenMP] Add task alloc function
AlexEichenberger accepted this revision. AlexEichenberger added a comment. This revision is now accepted and ready to land. LGTM Repository: rOMP OpenMP CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63010/new/ https://reviews.llvm.org/D63010 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D63010: [OpenMP] Add task alloc function
gtbercea updated this revision to Diff 204140. gtbercea added a comment. - Add temporary implementation. Repository: rOMP OpenMP CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63010/new/ https://reviews.llvm.org/D63010 Files: runtime/src/kmp.h runtime/src/kmp_tasking.cpp Index: runtime/src/kmp_tasking.cpp === --- runtime/src/kmp_tasking.cpp +++ runtime/src/kmp_tasking.cpp @@ -1398,6 +1398,16 @@ return retval; } +kmp_task_t *__kmpc_omp_target_task_alloc(ident_t *loc_ref, kmp_int32 gtid, + kmp_int32 flags, + size_t sizeof_kmp_task_t, + size_t sizeof_shareds, + kmp_routine_entry_t task_entry, + kmp_int64 device_id) { + return __kmpc_omp_task_alloc(loc_ref, gtid, flags, sizeof_kmp_task_t, + sizeof_shareds, task_entry); +} + #if OMP_50_ENABLED /*! @ingroup TASKING Index: runtime/src/kmp.h === --- runtime/src/kmp.h +++ runtime/src/kmp.h @@ -3778,6 +3778,12 @@ size_t sizeof_kmp_task_t, size_t sizeof_shareds, kmp_routine_entry_t task_entry); +KMP_EXPORT kmp_task_t *__kmpc_omp_target_task_alloc(ident_t *loc_ref, kmp_int32 gtid, +kmp_int32 flags, +size_t sizeof_kmp_task_t, +size_t sizeof_shareds, +kmp_routine_entry_t task_entry, +kmp_int64 device_id); KMP_EXPORT void __kmpc_omp_task_begin_if0(ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *task); KMP_EXPORT void __kmpc_omp_task_complete_if0(ident_t *loc_ref, kmp_int32 gtid, Index: runtime/src/kmp_tasking.cpp === --- runtime/src/kmp_tasking.cpp +++ runtime/src/kmp_tasking.cpp @@ -1398,6 +1398,16 @@ return retval; } +kmp_task_t *__kmpc_omp_target_task_alloc(ident_t *loc_ref, kmp_int32 gtid, + kmp_int32 flags, + size_t sizeof_kmp_task_t, + size_t sizeof_shareds, + kmp_routine_entry_t task_entry, + kmp_int64 device_id) { + return __kmpc_omp_task_alloc(loc_ref, gtid, flags, sizeof_kmp_task_t, + sizeof_shareds, task_entry); +} + #if OMP_50_ENABLED /*! @ingroup TASKING Index: runtime/src/kmp.h === --- runtime/src/kmp.h +++ runtime/src/kmp.h @@ -3778,6 +3778,12 @@ size_t sizeof_kmp_task_t, size_t sizeof_shareds, kmp_routine_entry_t task_entry); +KMP_EXPORT kmp_task_t *__kmpc_omp_target_task_alloc(ident_t *loc_ref, kmp_int32 gtid, +kmp_int32 flags, +size_t sizeof_kmp_task_t, +size_t sizeof_shareds, +kmp_routine_entry_t task_entry, +kmp_int64 device_id); KMP_EXPORT void __kmpc_omp_task_begin_if0(ident_t *loc_ref, kmp_int32 gtid, kmp_task_t *task); KMP_EXPORT void __kmpc_omp_task_complete_if0(ident_t *loc_ref, kmp_int32 gtid, ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D63010: [OpenMP] Add task alloc function
gtbercea updated this revision to Diff 204138. gtbercea added a comment. Herald added a project: clang. Herald added a subscriber: cfe-commits. - Add tests. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63010/new/ https://reviews.llvm.org/D63010 Files: lib/CodeGen/CGOpenMPRuntime.cpp test/OpenMP/target_depend_codegen.cpp test/OpenMP/target_enter_data_depend_codegen.cpp test/OpenMP/target_exit_data_depend_codegen.cpp test/OpenMP/target_parallel_depend_codegen.cpp test/OpenMP/target_parallel_for_depend_codegen.cpp test/OpenMP/target_parallel_for_simd_depend_codegen.cpp test/OpenMP/target_simd_depend_codegen.cpp test/OpenMP/target_teams_depend_codegen.cpp test/OpenMP/target_teams_distribute_depend_codegen.cpp test/OpenMP/target_teams_distribute_parallel_for_depend_codegen.cpp test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp test/OpenMP/target_update_depend_codegen.cpp Index: test/OpenMP/target_update_depend_codegen.cpp === --- test/OpenMP/target_update_depend_codegen.cpp +++ test/OpenMP/target_update_depend_codegen.cpp @@ -63,7 +63,7 @@ // CK1: [[CAP_DEVICE:%.+]] = getelementptr inbounds %struct.anon, %struct.anon* [[CAPTURES:%.+]], i32 0, i32 0 // CK1: [[DEVICE:%.+]] = load i32, i32* %{{.+}} // CK1: store i32 [[DEVICE]], i32* [[CAP_DEVICE]], - // CK1: [[RES:%.+]] = call i8* @__kmpc_omp_task_alloc(%struct.ident_t* {{.+}}, i32 {{.+}}, i32 1, i[[sz]] [[sz]], i[[sz]] 4, i32 (i32, i8*)* bitcast (i32 (i32, %struct.kmp_task_t_with_privates*)* [[TASK_ENTRY0:@.+]] to i32 (i32, i8*)*)) + // CK1: [[RES:%.+]] = call i8* @__kmpc_omp_target_task_alloc(%struct.ident_t* {{.+}}, i32 {{.+}}, i32 1, i[[sz]] [[sz]], i[[sz]] 4, i32 (i32, i8*)* bitcast (i32 (i32, %struct.kmp_task_t_with_privates*)* [[TASK_ENTRY0:@.+]] to i32 (i32, i8*)*), i64 -1) // CK1: [[BC:%.+]] = bitcast i8* [[RES]] to %struct.kmp_task_t_with_privates* // CK1: [[TASK_T:%.+]] = getelementptr inbounds %struct.kmp_task_t_with_privates, %struct.kmp_task_t_with_privates* [[BC]], i32 0, i32 0 // CK1: [[SHAREDS:%.+]] = getelementptr inbounds %struct.kmp_task_t, %struct.kmp_task_t* [[TASK_T]], i32 0, i32 0 Index: test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp === --- test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp +++ test/OpenMP/target_teams_distribute_simd_depend_codegen.cpp @@ -133,7 +133,7 @@ // CHECK: [[DEV:%.+]] = load i32, i32* [[DEVICE_CAP]], // CHECK: store i32 [[DEV]], i32* [[GEP]], - // CHECK: [[TASK:%.+]] = call i8* @__kmpc_omp_task_alloc(%struct.ident_t* [[ID]], i32 [[GTID]], i32 1, i[[SZ]] {{104|52}}, i[[SZ]] {{16|12}}, i32 (i32, i8*)* bitcast (i32 (i32, %{{.+}}*)* [[TASK_ENTRY1_:@.+]] to i32 (i32, i8*)*)) + // CHECK: [[TASK:%.+]] = call i8* @__kmpc_omp_target_task_alloc(%struct.ident_t* [[ID]], i32 [[GTID]], i32 1, i[[SZ]] {{104|52}}, i[[SZ]] {{16|12}}, i32 (i32, i8*)* bitcast (i32 (i32, %{{.+}}*)* [[TASK_ENTRY1_:@.+]] to i32 (i32, i8*)*), i64 -1) // CHECK: [[BC_TASK:%.+]] = bitcast i8* [[TASK]] to [[TASK_TY1_:%.+]]* // CHECK: getelementptr inbounds [3 x %struct.kmp_depend_info], [3 x %struct.kmp_depend_info]* %{{.+}}, i[[SZ]] 0, i[[SZ]] 0 // CHECK: getelementptr inbounds [3 x %struct.kmp_depend_info], [3 x %struct.kmp_depend_info]* %{{.+}}, i[[SZ]] 0, i[[SZ]] 1 @@ -149,7 +149,7 @@ // CHECK: [[DEV:%.+]] = load i32, i32* [[DEVICE_CAP]], // CHECK: store i32 [[DEV]], i32* [[GEP]], - // CHECK: [[TASK:%.+]] = call i8* @__kmpc_omp_task_alloc(%struct.ident_t* [[ID]], i32 [[GTID]], i32 1, i[[SZ]] {{56|28}}, i[[SZ]] {{16|12}}, i32 (i32, i8*)* bitcast (i32 (i32, %{{.+}}*)* [[TASK_ENTRY1__:@.+]] to i32 (i32, i8*)*)) + // CHECK: [[TASK:%.+]] = call i8* @__kmpc_omp_target_task_alloc(%struct.ident_t* [[ID]], i32 [[GTID]], i32 1, i[[SZ]] {{56|28}}, i[[SZ]] {{16|12}}, i32 (i32, i8*)* bitcast (i32 (i32, %{{.+}}*)* [[TASK_ENTRY1__:@.+]] to i32 (i32, i8*)*), i64 -1) // CHECK: [[BC_TASK:%.+]] = bitcast i8* [[TASK]] to [[TASK_TY1__:%.+]]* // CHECK: getelementptr inbounds [3 x %struct.kmp_depend_info], [3 x %struct.kmp_depend_info]* %{{.+}}, i[[SZ]] 0, i[[SZ]] 0 // CHECK: getelementptr inbounds [3 x %struct.kmp_depend_info], [3 x %struct.kmp_depend_info]* %{{.+}}, i[[SZ]] 0, i[[SZ]] 1 Index: test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp === --- test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp +++ test/OpenMP/target_teams_distribute_parallel_for_simd_depend_codegen.cpp @@ -133,7 +133,7 @@ // CHECK: [[DEV:%.+]] = load i32, i32* [[DEVICE_CAP]], // CHECK: store i32 [[DEV]], i32* [[GEP]], - // CHECK: