brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.8 KiB · 289754f Raw
48 lines · cpp
1// RUN: %clang_cc1 -fopenacc -ast-print %s -o - | FileCheck %s2void uses(bool cond) {3  int I;4  int *iPtr;5  int array[5];6  // CHECK: #pragma acc update self(I)7#pragma acc update self(I)8 9// CHECK: #pragma acc update self(I) if_present10#pragma acc update self(I) if_present11// CHECK: #pragma acc update self(I) if(cond)12#pragma acc update self(I) if(cond)13 14// CHECK: #pragma acc update self(I) async15#pragma acc update self(I) async16// CHECK: #pragma acc update self(I) async(*iPtr)17#pragma acc update self(I) async(*iPtr)18// CHECK: #pragma acc update self(I) async(I)19#pragma acc update self(I) async(I)20 21// CHECK: #pragma acc update self(I) wait(*iPtr, I) async22#pragma acc update self(I) wait(*iPtr, I) async23 24// CHECK: #pragma acc update self(I) wait(queues: *iPtr, I) async(*iPtr)25#pragma acc update self(I) wait(queues:*iPtr, I) async(*iPtr)26 27// CHECK: #pragma acc update self(I) wait(devnum: I : *iPtr, I) async(I)28#pragma acc update self(I) wait(devnum:I:*iPtr, I) async(I)29 30// CHECK: #pragma acc update self(I) wait(devnum: I : queues: *iPtr, I) if(I == array[I]) async(I)31#pragma acc update self(I) wait(devnum:I:queues:*iPtr, I) if(I == array[I]) async(I)32 33// CHECK: #pragma acc update self(I) device_type(nvidia) dtype(host)34#pragma acc update self(I) device_type(nvidia) dtype(host)35 36// CHECK: #pragma acc update self(I) device_type(radeon) dtype(multicore)37#pragma acc update self(I) device_type(radeon) dtype(multicore)38 39// CHECK: #pragma acc update self(I, iPtr, array, array[1], array[1:2])40#pragma acc update self(I, iPtr, array, array[1], array[1:2])41 42// CHECK: #pragma acc update host(I, iPtr, array, array[1], array[1:2])43#pragma acc update host (I, iPtr, array, array[1], array[1:2])44 45// CHECK: #pragma acc update device(I, iPtr, array, array[1], array[1:2])46#pragma acc update device(I, iPtr, array, array[1], array[1:2])47}48