diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2017-11-27 16:54:08 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2017-11-27 16:54:08 +0000 |
commit | 10a5431239a65f66b49e11157658784336a82ced (patch) | |
tree | fcac88c395ed1fcddd3a84d77c72059419afb52c /clang/lib/CodeGen/CGOpenMPRuntime.cpp | |
parent | 647dd6a6028b54953e0b02a78bbdfc122154dabf (diff) | |
download | bcm5719-llvm-10a5431239a65f66b49e11157658784336a82ced.tar.gz bcm5719-llvm-10a5431239a65f66b49e11157658784336a82ced.zip |
[OPENMP] Improve handling of cancel directives in target-based
constructs, NFC.
Improved handling of cancel|cancellation point directives inside
target-based for directives.
llvm-svn: 319046
Diffstat (limited to 'clang/lib/CodeGen/CGOpenMPRuntime.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGOpenMPRuntime.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.cpp b/clang/lib/CodeGen/CGOpenMPRuntime.cpp index 0d8b5c2fff8..3de5d3d84fe 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntime.cpp +++ b/clang/lib/CodeGen/CGOpenMPRuntime.cpp @@ -1293,6 +1293,13 @@ static llvm::Value *emitParallelOrTeamsOutlinedFunction( HasCancel = OPFD->hasCancel(); else if (auto *OPFD = dyn_cast<OMPTargetParallelForDirective>(&D)) HasCancel = OPFD->hasCancel(); + else if (auto *OPFD = dyn_cast<OMPDistributeParallelForDirective>(&D)) + HasCancel = OPFD->hasCancel(); + else if (auto *OPFD = dyn_cast<OMPTeamsDistributeParallelForDirective>(&D)) + HasCancel = OPFD->hasCancel(); + else if (auto *OPFD = + dyn_cast<OMPTargetTeamsDistributeParallelForDirective>(&D)) + HasCancel = OPFD->hasCancel(); CGOpenMPOutlinedRegionInfo CGInfo(*CS, ThreadIDVar, CodeGen, InnermostKind, HasCancel, OutlinedHelperName); CodeGenFunction::CGCapturedStmtRAII CapInfoRAII(CGF, &CGInfo); |