diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2019-04-08 19:06:42 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2019-04-08 19:06:42 +0000 |
commit | 6cf7b715a0e5c8a6a5eab621fe490d5330d049fd (patch) | |
tree | 56d008039c7a0f33bed36c03608acf66e733750e /clang/test/OpenMP/parallel_private_codegen.cpp | |
parent | f41e70d6eb90279019f0481fe0fd25742705f221 (diff) | |
download | bcm5719-llvm-6cf7b715a0e5c8a6a5eab621fe490d5330d049fd.tar.gz bcm5719-llvm-6cf7b715a0e5c8a6a5eab621fe490d5330d049fd.zip |
[OPENMP] Sync __kmpc_alloc/_kmpc_free function with the runtime.
Functions __kmpc_alloc/__kmpc_free are updated with the new interfaces.
Patch synchronizes the compiler with the runtime.
llvm-svn: 357933
Diffstat (limited to 'clang/test/OpenMP/parallel_private_codegen.cpp')
-rw-r--r-- | clang/test/OpenMP/parallel_private_codegen.cpp | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/clang/test/OpenMP/parallel_private_codegen.cpp b/clang/test/OpenMP/parallel_private_codegen.cpp index 7271c3f5a0d..ceceaf95d49 100644 --- a/clang/test/OpenMP/parallel_private_codegen.cpp +++ b/clang/test/OpenMP/parallel_private_codegen.cpp @@ -13,15 +13,19 @@ // expected-no-diagnostics #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; + +enum omp_allocator_handle_t { + omp_null_allocator = 0, + omp_default_mem_alloc = 1, + omp_large_cap_mem_alloc = 2, + omp_const_mem_alloc = 3, + omp_high_bw_mem_alloc = 4, + omp_low_lat_mem_alloc = 5, + omp_cgroup_mem_alloc = 6, + omp_pteam_mem_alloc = 7, + omp_thread_mem_alloc = 8, + KMP_ALLOCATOR_MAX_HANDLE = __UINTPTR_MAX__ +}; template <class T> struct S { @@ -356,15 +360,14 @@ int main() { // CHECK: [[GTID_ADDR_PTR:%.+]] = alloca i32*, // CHECK: [[GTID_ADDR:%.+]] = load i32*, i32** [[GTID_ADDR_PTR]], // CHECK: [[GTID:%.+]] = load i32, i32* [[GTID_ADDR]], -// CHECK: [[LARGE_CAP_ALLOC:%.+]] = load i8**, i8*** @omp_large_cap_mem_alloc, -// CHECK: [[A_VOID_PTR:%.+]] = call i8* @__kmpc_alloc(i32 [[GTID]], i64 4, i8** [[LARGE_CAP_ALLOC]]) +// CHECK: [[A_VOID_PTR:%.+]] = call i8* @__kmpc_alloc(i32 [[GTID]], i64 4, i8* inttoptr (i64 2 to i8*)) // CHECK: [[A_PRIV:%.+]] = bitcast i8* [[A_VOID_PTR]] to i32* // CHECK: store i{{[0-9]+}}* [[A_PRIV]], i{{[0-9]+}}** [[REF:%.+]], // CHECK-NEXT: [[A_PRIV:%.+]] = load i{{[0-9]+}}*, i{{[0-9]+}}** [[REF]], // CHECK-NEXT: [[A_VAL:%.+]] = load i{{[0-9]+}}, i{{[0-9]+}}* [[A_PRIV]], // CHECK-NEXT: [[INC:%.+]] = add nsw i{{[0-9]+}} [[A_VAL]], 1 // CHECK-NEXT: store i{{[0-9]+}} [[INC]], i{{[0-9]+}}* [[A_PRIV]], -// CHECK-NEXT: call void @__kmpc_free(i32 [[GTID]], i8* [[A_VOID_PTR]], i8** [[LARGE_CAP_ALLOC]]) +// CHECK-NEXT: call void @__kmpc_free(i32 [[GTID]], i8* [[A_VOID_PTR]], i8* inttoptr (i64 2 to i8*)) // CHECK-NEXT: ret void #endif |