Files
clang-p2996/openmp/runtime/test/ompt/misc/threads.c
Joachim Protze 28d2d708d4 [OMPT] Add testcases for thread_begin and thread_end callbacks
Especially the thread_end callback has not been tested before.
This adds a testcase for nested and non-nested threads.

Patch provided by Simon Convent

Differential Revision: https://reviews.llvm.org/D47824

llvm-svn: 336086
2018-07-02 09:13:30 +00:00

35 lines
1.2 KiB
C

// RUN: %libomp-compile-and-run | %sort-threads | FileCheck %s
// REQUIRES: ompt
#include "callback.h"
#include <omp.h>
int main() {
int x = 0;
#pragma omp parallel num_threads(4)
{
#pragma omp atomic
x++;
}
// CHECK: 0: NULL_POINTER=[[NULL:.*$]]
// CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_thread_begin:
// CHECK-SAME: thread_type=ompt_thread_initial=1, thread_id=[[MASTER_ID]]
// CHECK: {{^}}[[MASTER_ID]]: ompt_event_thread_end:
// CHECK-SAME: thread_id=[[MASTER_ID]]
// CHECK: {{^}}[[WORKER_ID1:[0-9]+]]: ompt_event_thread_begin:
// CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID1]]
// CHECK: {{^}}[[WORKER_ID1]]: ompt_event_thread_end:
// CHECK-SAME: thread_id=[[WORKER_ID1]]
// CHECK: {{^}}[[WORKER_ID2:[0-9]+]]: ompt_event_thread_begin:
// CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID2]]
// CHECK: {{^}}[[WORKER_ID2]]: ompt_event_thread_end:
// CHECK-SAME: thread_id=[[WORKER_ID2]]
// CHECK: {{^}}[[WORKER_ID3:[0-9]+]]: ompt_event_thread_begin:
// CHECK-SAME: thread_type=ompt_thread_worker=2, thread_id=[[WORKER_ID3]]
// CHECK: {{^}}[[WORKER_ID3]]: ompt_event_thread_end:
// CHECK-SAME: thread_id=[[WORKER_ID3]]
return 0;
}