From 840592268a881da59e838ec97cfe04b5dfb59dbc Mon Sep 17 00:00:00 2001 From: Alexey Bataev Date: Thu, 4 Apr 2019 18:58:17 +0000 Subject: [PATCH] [OPENMP]Add codegen for task reduction vars with allocate clause, NFC. Added test for the task reduction variables with the allocate clause. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@357717 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/OpenMP/task_in_reduction_codegen.cpp | 12 +++++++++++- test/OpenMP/taskgroup_task_reduction_codegen.cpp | 12 +++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/test/OpenMP/task_in_reduction_codegen.cpp b/test/OpenMP/task_in_reduction_codegen.cpp index e96d12689f..2370b2bc41 100644 --- a/test/OpenMP/task_in_reduction_codegen.cpp +++ b/test/OpenMP/task_in_reduction_codegen.cpp @@ -10,6 +10,16 @@ #ifndef HEADER #define HEADER +typedef void **omp_allocator_handle_t; +extern const omp_allocator_handle_t omp_default_mem_alloc; +extern const omp_allocator_handle_t omp_large_cap_mem_alloc; +extern const omp_allocator_handle_t omp_const_mem_alloc; +extern const omp_allocator_handle_t omp_high_bw_mem_alloc; +extern const omp_allocator_handle_t omp_low_lat_mem_alloc; +extern const omp_allocator_handle_t omp_cgroup_mem_alloc; +extern const omp_allocator_handle_t omp_pteam_mem_alloc; +extern const omp_allocator_handle_t omp_thread_mem_alloc; + // CHECK: [[PRIVATES:%.+]] = type { i8*, i8* } struct S { @@ -31,7 +41,7 @@ int main(int argc, char **argv) { { #pragma omp taskgroup task_reduction(-:c, d) #pragma omp parallel -#pragma omp task in_reduction(+:a) in_reduction(-:d) +#pragma omp task in_reduction(+:a) in_reduction(-:d) allocate(omp_high_bw_mem_alloc: d) a += d[a]; } return 0; diff --git a/test/OpenMP/taskgroup_task_reduction_codegen.cpp b/test/OpenMP/taskgroup_task_reduction_codegen.cpp index 02a5ba664e..686bb6ff57 100644 --- a/test/OpenMP/taskgroup_task_reduction_codegen.cpp +++ b/test/OpenMP/taskgroup_task_reduction_codegen.cpp @@ -12,6 +12,16 @@ #ifndef HEADER #define HEADER +typedef void **omp_allocator_handle_t; +extern const omp_allocator_handle_t omp_default_mem_alloc; +extern const omp_allocator_handle_t omp_large_cap_mem_alloc; +extern const omp_allocator_handle_t omp_const_mem_alloc; +extern const omp_allocator_handle_t omp_high_bw_mem_alloc; +extern const omp_allocator_handle_t omp_low_lat_mem_alloc; +extern const omp_allocator_handle_t omp_cgroup_mem_alloc; +extern const omp_allocator_handle_t omp_pteam_mem_alloc; +extern const omp_allocator_handle_t omp_thread_mem_alloc; + // CHECK-DAG: @reduction_size.[[ID:.+]]_[[CID:[0-9]+]].artificial. // CHECK-DAG: @reduction_size.[[ID]]_[[CID]].artificial..cache. @@ -29,7 +39,7 @@ int main(int argc, char **argv) { float b; S c[5]; short d[argc]; -#pragma omp taskgroup task_reduction(+: a, b, argc) +#pragma omp taskgroup allocate(omp_pteam_mem_alloc: a) task_reduction(+: a, b, argc) { #pragma omp taskgroup task_reduction(-:c, d) ; -- 2.50.1