[libomptarget][devicertl] Replace lanemask with uint64 at interface
authorJon Chesterfield <jonathanchesterfield@gmail.com>
Wed, 18 Aug 2021 19:47:33 +0000 (20:47 +0100)
committerJon Chesterfield <jonathanchesterfield@gmail.com>
Wed, 18 Aug 2021 19:47:33 +0000 (20:47 +0100)
commit21d91a8ef319eec9c2c272e19beee726429524aa
treeee82010a1efe2470b9f2105d5b28ae81c86e8939
parentcfb6dfcbd13b417f83d8adca69b60ba4254b4233
[libomptarget][devicertl] Replace lanemask with uint64 at interface

Use uint64_t for lanemask on all GPU architectures at the interface
with clang. Updates tests. The deviceRTL is always linked as IR so the zext
and trunc introduced for wave32 architectures will fold after inlining.

Simplification partly motivated by amdgpu gfx10 which will be wave32 and
is awkward to express in the current arch-dependant typedef interface.

Reviewed By: jdoerfert

Differential Revision: https://reviews.llvm.org/D108317
clang/test/OpenMP/nvptx_parallel_codegen.cpp
llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
llvm/test/Transforms/OpenMP/add_attributes.ll
openmp/libomptarget/DeviceRTL/include/Interface.h
openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
openmp/libomptarget/deviceRTLs/common/src/sync.cu
openmp/libomptarget/deviceRTLs/interface.h