brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · ddaade4 Raw
56 lines · c
1// clang-format off2// RUN: %libomp-compile-and-run | %sort-threads | FileCheck %s3// RUN: %libomp-compile -DNOWAIT && %libomp-run | %sort-threads | FileCheck %s4// REQUIRES: ompt5// UNSUPPORTED: gcc6// clang-format on7#include "callback.h"8#include <omp.h>9 10#ifdef NOWAIT11#define FOR_CLAUSE nowait12#else13#define FOR_CLAUSE14#endif15 16int main() {17  int sum = 0, a = 0, b = 0;18  int i;19#pragma omp parallel num_threads(5)20// for 32-bit architecture we need at least 3 variables to trigger tree21#pragma omp for reduction(+ : sum, a, b) FOR_CLAUSE22  for (i = 0; i < 10000; i++) {23    a = b = sum += i;24  }25 26  printf("%i\n", sum);27  // clang-format off28  // CHECK: 0: NULL_POINTER=[[NULL:.*$]]29 30  // CHECK: {{^}}[[MASTER_ID:[0-9]+]]: ompt_event_parallel_begin:31  // CHECK-SAME: parallel_id=[[PARALLEL_ID:[0-f]+]]32  // CHECK: {{^}}[[MASTER_ID]]: ompt_event_implicit_task_begin:33  // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id=[[TASK_ID:[0-f]+]]34 35  // order and distribution to threads not determined36  // CHECK: {{^}}{{[0-f]+}}: ompt_event_reduction_begin:37  // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id={{[0-f]+}}38  // CHECK: {{^}}{{[0-f]+}}: ompt_event_reduction_end:39  // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id={{[0-f]+}}40  // CHECK: {{^}}{{[0-f]+}}: ompt_event_reduction_begin:41  // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id={{[0-f]+}}42  // CHECK: {{^}}{{[0-f]+}}: ompt_event_reduction_end:43  // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id={{[0-f]+}}44  // CHECK: {{^}}{{[0-f]+}}: ompt_event_reduction_begin:45  // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id={{[0-f]+}}46  // CHECK: {{^}}{{[0-f]+}}: ompt_event_reduction_end:47  // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id={{[0-f]+}}48  // CHECK: {{^}}{{[0-f]+}}: ompt_event_reduction_begin:49  // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id={{[0-f]+}}50  // CHECK: {{^}}{{[0-f]+}}: ompt_event_reduction_end:51  // CHECK-SAME: parallel_id=[[PARALLEL_ID]], task_id={{[0-f]+}}52  // clang-format on53 54  return 0;55}56