diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2019-01-03 16:25:35 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2019-01-03 16:25:35 +0000 |
commit | a3924b517e2d10c25ee3b41dfd96bb9a5333b64e (patch) | |
tree | c616eef5a288481766e0d99333a0f7e00380a83b /clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp | |
parent | 16228bc65e46de9045d522dfe7afbba8c4bb5955 (diff) | |
download | bcm5719-llvm-a3924b517e2d10c25ee3b41dfd96bb9a5333b64e.tar.gz bcm5719-llvm-a3924b517e2d10c25ee3b41dfd96bb9a5333b64e.zip |
[OPENMP][NVPTX]Use __kmpc_barrier_simple_spmd(nullptr, 0) instead of
nvvm_barrier0.
Use runtime functions instead of the direct call to the nvvm intrinsics.
It allows to prevent some dangerous LLVM optimizations, that breaks the
code for the NVPTX target.
llvm-svn: 350328
Diffstat (limited to 'clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp')
-rw-r--r-- | clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp b/clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp index a13762549c0..cf007427ec3 100644 --- a/clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp +++ b/clang/test/OpenMP/nvptx_target_teams_distribute_codegen.cpp @@ -73,15 +73,15 @@ int bar(int n){ // CHECK: [[SHARED_VARS_BUF:%.+]] = load i8**, i8*** [[SHARED_VARS_PTR]], // CHECK: [[I_ADDR_BC:%.+]] = bitcast i32* [[I_ADDR]] to i8* // CHECK: store i8* [[I_ADDR_BC]], i8** [[SHARED_VARS_BUF]], - // CHECK: call void @llvm.nvvm.barrier0() - // CHECK: call void @llvm.nvvm.barrier0() + // CHECK: call void @__kmpc_barrier_simple_spmd(%struct.ident_t* null, i32 0) + // CHECK: call void @__kmpc_barrier_simple_spmd(%struct.ident_t* null, i32 0) // CHECK: call void @__kmpc_end_sharing_variables() // CHECK: call void @__kmpc_for_static_fini( // CHECK: br label {{%?}}[[TERMINATE:.+]] // // CHECK: [[TERMINATE]] // CHECK: call void @__kmpc_kernel_deinit( - // CHECK: call void @llvm.nvvm.barrier0() + // CHECK: call void @__kmpc_barrier_simple_spmd(%struct.ident_t* null, i32 0) // CHECK: br label {{%?}}[[EXIT]] // // CHECK: [[EXIT]] |