brintos

brintos / llvm-project-archived public Read only

0
0
Text · 671 B · 1aaec06 Raw
27 lines · c
1// RUN: %libomptarget-compile-amdgcn-amd-amdhsa -O2 -mllvm \2// RUN:   -openmp-opt-inline-device3// RUN: env LIBOMPTARGET_SHARED_MEMORY_SIZE=256 \4// RUN:   %libomptarget-run-amdgcn-amd-amdhsa | %fcheck-amdgcn-amd-amdhsa5// REQUIRES: amdgcn-amd-amdhsa6 7#include <omp.h>8#include <stdio.h>9 10int main() {11  int x;12#pragma omp target parallel map(from : x)13  {14    int *buf = llvm_omp_target_dynamic_shared_alloc() + 252;15#pragma omp barrier16    if (omp_get_thread_num() == 0)17      *buf = 1;18#pragma omp barrier19    if (omp_get_thread_num() == 1)20      x = *buf;21  }22 23  // CHECK: PASS24  if (x == 1 && llvm_omp_target_dynamic_shared_alloc() == NULL)25    printf("PASS\n");26}27