aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/Module.cpp
diff options
context:
space:
mode:
authorJonathan Peyton <jonathan.l.peyton@intel.com>2018-07-30 17:48:33 +0000
committerJonathan Peyton <jonathan.l.peyton@intel.com>2018-07-30 17:48:33 +0000
commit369d72db116a244be6a021209298435f5565a9a5 (patch)
tree8fc21af224d0ca381e2829b67c9fcf9428748b33 /clang/lib/Basic/Module.cpp
parent20208cc046c206a1436edb714e94bd52a0bc8572 (diff)
downloadllvm-369d72db116a244be6a021209298435f5565a9a5.zip
llvm-369d72db116a244be6a021209298435f5565a9a5.tar.gz
llvm-369d72db116a244be6a021209298435f5565a9a5.tar.bz2
[OpenMP] Implement GOMP doacross compatibility
This change introduces GOMP doacross compatibility. There are 12 new interface functions 6 for long type and 6 for unsigned long long type: GOMP_doacross_post, GOMP_doacross_wait, GOMP_loop_doacross_[schedule]_start where schedule can be static, dynamic, guided, or runtime. These functions just translate the parameters if necessary and send them to the corresponding kmp function. E.g., GOMP_doacross_post() -> __kmpc_doacross_post() For the GOMP_doacross_post function, there is template specialization to account for when long is a four byte vs an eight byte type. If it is a four byte type, then a temporary array has to be created to convert the four byte integers into eight byte integers and then sending that into __kmpc_doacross_post(). Because GOMP_doacross_wait uses varargs, it always needs a temporary array and does not need template specialization. Differential Revision: https://reviews.llvm.org/D49857 llvm-svn: 338280
Diffstat (limited to 'clang/lib/Basic/Module.cpp')
0 files changed, 0 insertions, 0 deletions