1 // Test host codegen. 2 // RUN: %clang_cc1 -verify -fopenmp -fopenmp-version=50 -triple powerpc64le-unknown-unknown -fopenmp-targets=powerpc64le-ibm-linux-gnu -emit-llvm %s -o - | FileCheck %s --check-prefix CHECK --check-prefix CHECK-64 3 // RUN: %clang_cc1 -fopenmp -fopenmp-version=50 -x c++ -triple powerpc64le-unknown-unknown -fopenmp-targets=powerpc64le-ibm-linux-gnu -emit-pch -o %t %s 4 // RUN: %clang_cc1 -fopenmp -fopenmp-version=50 -x c++ -triple powerpc64le-unknown-unknown -fopenmp-targets=powerpc64le-ibm-linux-gnu 5 6 // expected-no-diagnostics 7 #ifndef HEADER 8 #define HEADER 9 10 enum omp_allocator_handle_t { 11 omp_null_allocator = 0, 12 omp_default_mem_alloc = 1, 13 omp_large_cap_mem_alloc = 2, 14 omp_const_mem_alloc = 3, 15 omp_high_bw_mem_alloc = 4, 16 omp_low_lat_mem_alloc = 5, 17 omp_cgroup_mem_alloc = 6, 18 omp_pteam_mem_alloc = 7, 19 omp_thread_mem_alloc = 8, 20 KMP_ALLOCATOR_MAX_HANDLE = __UINTPTR_MAX__ 21 }; 22 23 // CHECK: define {{.*}}[[FIE:@.+]]() fie(void)24void fie(void) { 25 int x; 26 #pragma omp target uses_allocators(omp_null_allocator) allocate(omp_null_allocator: x) firstprivate(x) 27 {} 28 #pragma omp target uses_allocators(omp_default_mem_alloc) allocate(omp_default_mem_alloc: x) firstprivate(x) 29 {} 30 #pragma omp target uses_allocators(omp_large_cap_mem_alloc) allocate(omp_large_cap_mem_alloc: x) firstprivate(x) 31 {} 32 #pragma omp target uses_allocators(omp_const_mem_alloc) allocate(omp_const_mem_alloc: x) firstprivate(x) 33 {} 34 #pragma omp target uses_allocators(omp_high_bw_mem_alloc) allocate(omp_high_bw_mem_alloc: x) firstprivate(x) 35 {} 36 #pragma omp target uses_allocators(omp_low_lat_mem_alloc) allocate(omp_low_lat_mem_alloc: x) firstprivate(x) 37 {} 38 #pragma omp target uses_allocators(omp_cgroup_mem_alloc) allocate(omp_cgroup_mem_alloc: x) firstprivate(x) 39 {} 40 #pragma omp target uses_allocators(omp_pteam_mem_alloc) allocate(omp_pteam_mem_alloc: x) firstprivate(x) 41 {} 42 } 43 44 #endif 45