• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // RUN: %libomp-compile-and-run | FileCheck %s
2 // REQUIRES: ompt
3 // XFAIL: gcc-4
4 
5 #include "callback.h"
6 #include <omp.h>
7 
main()8 int main()
9 {
10   int y[] = {0,1,2,3};
11 
12   int i;
13   #pragma omp for simd
14   for (i = 0; i < 4; i++)
15   {
16     y[i]++;
17   }
18 
19 
20   // Check if libomp supports the callbacks for this test.
21   // CHECK-NOT: {{^}}0: Could not register callback 'ompt_callback_sync_region'
22   // CHECK-NOT: {{^}}0: Could not register callback 'ompt_callback_sync_region_wait'
23 
24   // CHECK: 0: NULL_POINTER=[[NULL:.*$]]
25 
26   // master thread implicit barrier at simd loop end
27   // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_barrier_begin: parallel_id={{[0-9]+}}, task_id={{[0-9]+}}, codeptr_ra={{0x[0-f]+}}
28   // CHECK: {{^}}[[MASTER_ID]]: ompt_event_wait_barrier_begin: parallel_id={{[0-9]+}}, task_id={{[0-9]+}}, codeptr_ra={{0x[0-f]+}}
29   // CHECK: {{^}}[[MASTER_ID]]: ompt_event_wait_barrier_end: parallel_id={{[0-9]+}}, task_id={{[0-9]+}}, codeptr_ra={{0x[0-f]+}}
30   // CHECK: {{^}}[[MASTER_ID]]: ompt_event_barrier_end: parallel_id={{[0-9]+}}, task_id={{[0-9]+}}, codeptr_ra={{0x[0-f]+}}
31 
32   return 0;
33 }
34