[OPENMP]Fix PR50129: omp cancel parallel not working as expected.
authorAlexey Bataev <a.bataev@outlook.com>
Thu, 3 Jun 2021 21:13:35 +0000 (14:13 -0700)
committerAlexey Bataev <a.bataev@outlook.com>
Fri, 4 Jun 2021 15:24:55 +0000 (08:24 -0700)
commitc84a5448b5ac3212303c553866e8d42a5a75ce30
tree199b267d071b6cbaac1e7ee1856a438d759e22e6
parenta85f5874e2a4d4bad8c53d277e9df183122793ae
[OPENMP]Fix PR50129: omp cancel parallel not working as expected.

Need to emit a call for __kmpc_cancel_barrier in the exit block for
__kmpc_cancel function call if cancellation of the parallel block is
requested.

Differential Revision: https://reviews.llvm.org/D103646
12 files changed:
clang/lib/CodeGen/CGOpenMPRuntime.cpp
clang/test/OpenMP/cancel_codegen.cpp
clang/test/OpenMP/cancellation_point_codegen.cpp
clang/test/OpenMP/distribute_parallel_for_codegen.cpp
clang/test/OpenMP/parallel_master_taskloop_codegen.cpp
clang/test/OpenMP/target_parallel_codegen.cpp
clang/test/OpenMP/target_parallel_for_codegen.cpp
clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp