[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload
authorJoseph Huber <jhuber6@vols.utk.edu>
Wed, 7 Oct 2020 18:13:14 +0000 (14:13 -0400)
committerJoseph Huber <jhuber6@vols.utk.edu>
Thu, 8 Oct 2020 12:20:38 +0000 (08:20 -0400)
commit6668e4cc685e74a17ebd386913e842ac3d7472e5
tree18558bb87502f818b743226302315b98af19cf57
parent5415fef3abefd666fc9209f8305f5e0b4103b5cf
[OpenMP] Add Error Handling for Conflicting Pointer Sizes for Target Offload

Summary:
This patch adds an error to Clang that detects if OpenMP offloading is used
between two architectures with incompatible pointer sizes. This ensures that
the data mapping can be done correctly and solves an issue in code generation
generating the wrong size pointer.

Reviewer: jdoerfert

Subscribers: cfe-commits delcypher guansong llvm-commits sstefan1 yaxunl

Tags: #OpenMP #Clang

Differential Revision: https://reviews.llvm.org/D88594
12 files changed:
clang/include/clang/Basic/DiagnosticDriverKinds.td
clang/lib/Frontend/CompilerInvocation.cpp
clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
clang/test/OpenMP/nvptx_target_parallel_reduction_codegen_tbaa_PR46146.cpp
clang/test/OpenMP/target_incompatible_architecture_messages.cpp [new file with mode: 0644]
clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp