[OPENMP][NVPTX] Support memory coalescing for globalized variables.
authorAlexey Bataev <a.bataev@hotmail.com>
Tue, 9 Oct 2018 14:49:00 +0000 (14:49 +0000)
committerAlexey Bataev <a.bataev@hotmail.com>
Tue, 9 Oct 2018 14:49:00 +0000 (14:49 +0000)
commit9ea3c385973c395c4798145f71ff3ae34ccaabeb
tree0a2f511ca7fb094143065d6ee32b2976e7079a80
parentf5fac1826a867d5e65310456670cc1d5a495ed02
[OPENMP][NVPTX] Support memory coalescing for globalized variables.

Added support for memory coalescing for better performance for
globalized variables. From now on all the globalized variables are
represented as arrays of 32 elements and each thread accesses these
elements using `tid & 31` as index.

llvm-svn: 344049
clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h
clang/test/OpenMP/declare_target_codegen_globalization.cpp
clang/test/OpenMP/nvptx_data_sharing.cpp
clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
clang/test/OpenMP/nvptx_parallel_codegen.cpp
clang/test/OpenMP/nvptx_target_codegen.cpp
clang/test/OpenMP/nvptx_teams_codegen.cpp
clang/test/OpenMP/nvptx_teams_reduction_codegen.cpp