Author: hans Date: Thu Aug 2 04:33:13 2018 New Revision: 338704 URL: http://llvm.org/viewvc/llvm-project?rev=338704&view=rev Log: Merging r338580: ------------------------------------------------------------------------ r338580 | jprotze | 2018-08-01 18:15:18 +0200 (Wed, 01 Aug 2018) | 15 lines
[OMPT,tests] Fix taskloop testcase scheduling effects The taskloop testcase had scheduling effects. Tasks of the taskloop would sometimes be scheduled before all task were created. The testing is now split into two phases. First, the task creation on the master is tested, than the scheduling events of the tasks are tested. Thus, the order of creation and scheduling events is irrelavant. Patch by Simon Convent Reviewed by: protze.joachim, Hahnfeld Subscribers: openmp-commits Differential Revision: https://reviews.llvm.org/D50140 ------------------------------------------------------------------------ Modified: openmp/branches/release_70/ (props changed) openmp/branches/release_70/runtime/test/ompt/tasks/taskloop.c Propchange: openmp/branches/release_70/ ------------------------------------------------------------------------------ svn:mergeinfo = /openmp/trunk:338580 Modified: openmp/branches/release_70/runtime/test/ompt/tasks/taskloop.c URL: http://llvm.org/viewvc/llvm-project/openmp/branches/release_70/runtime/test/ompt/tasks/taskloop.c?rev=338704&r1=338703&r2=338704&view=diff ============================================================================== --- openmp/branches/release_70/runtime/test/ompt/tasks/taskloop.c (original) +++ openmp/branches/release_70/runtime/test/ompt/tasks/taskloop.c Thu Aug 2 04:33:13 2018 @@ -1,18 +1,22 @@ -// RUN: %libomp-compile && %libomp-run | FileCheck %s +// RUN: %libomp-compile-and-run | FileCheck %s +// RUN: %libomp-compile-and-run | FileCheck --check-prefix=TASKS %s // REQUIRES: ompt #include "callback.h" #include <omp.h> int main() { - unsigned int i, j, x; + unsigned int i, x; #pragma omp parallel num_threads(2) + { +#pragma omp barrier + #pragma omp master #pragma omp taskloop - for (j = 0; j < 5; j += 3) { - x++; + for (i = 0; i < 5; i += 3) { + x++; + } } - // CHECK: 0: NULL_POINTER=[[NULL:.*$]] // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_parallel_begin: @@ -39,16 +43,12 @@ int main() { // CHECK-SAME: new_task_id=[[TASK_ID2:[0-9]+]] // CHECK-SAME: codeptr_ra=[[RETURN_ADDRESS]] // CHECK-SAME: task_type=ompt_task_explicit=4 + // CHECK-NOT: {{^}}[[MASTER_ID]]: ompt_event_task_create: // CHECK: {{^}}[[MASTER_ID]]: ompt_event_taskloop_end: // CHECK-SAME: parallel_id=[[PARALLEL_ID]] // CHECK-SAME: parent_task_id=[[IMPLICIT_TASK_ID1]] // CHECK-SAME: count=2 // CHECK-DAG: {{^}}[[MASTER_ID]]: ompt_event_wait_taskgroup_begin: - // Schedule events: - // CHECK-DAG: {{^.*}}first_task_id={{[0-9]+}}, second_task_id=[[TASK_ID1]] - // CHECK-DAG: {{^.*}}first_task_id=[[TASK_ID1]], second_task_id={{[0-9]+}} - // CHECK-DAG: {{^.*}}first_task_id={{[0-9]+}}, second_task_id=[[TASK_ID2]] - // CHECK-DAG: {{^.*}}first_task_id=[[TASK_ID2]], second_task_id={{[0-9]+}} // CHECK: {{^}}[[MASTER_ID]]: ompt_event_wait_taskgroup_end: // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id=[[IMPLICIT_TASK_ID1]] // CHECK: {{^}}[[MASTER_ID]]: ompt_event_taskgroup_end: @@ -58,5 +58,18 @@ int main() { // CHECK: {{^}}[[MASTER_ID]]: ompt_event_parallel_end: // CHECK-SAME: parallel_id=[[PARALLEL_ID]] + // TASKS: ompt_event_task_create:{{.*}} new_task_id={{[0-9]+}} + // TASKS-SAME: task_type=ompt_task_initial + // TASKS: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_taskloop_begin: + // TASKS: ompt_event_task_create:{{.*}} new_task_id=[[TASK_ID1:[0-9]+]] + // TASKS-SAME: task_type=ompt_task_explicit + // TASKS-DAG: ompt_event_task_create:{{.*}} new_task_id=[[TASK_ID2:[0-9]+]] + // Schedule events: + // TASKS-DAG: {{^.*}}first_task_id={{[0-9]+}}, second_task_id=[[TASK_ID1]] + // TASKS-DAG: {{^.*}}first_task_id=[[TASK_ID1]], second_task_id={{[0-9]+}} + // TASKS-DAG: {{^.*}}first_task_id={{[0-9]+}}, second_task_id=[[TASK_ID2]] + // TASKS-DAG: {{^.*}}first_task_id=[[TASK_ID2]], second_task_id={{[0-9]+}} + // TASKS-NOT: ompt_event_task_schedule + return 0; } _______________________________________________ llvm-branch-commits mailing list llvm-branch-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits