diff options
author | Samuel Antao <sfantao@us.ibm.com> | 2016-04-27 22:58:19 +0000 |
---|---|---|
committer | Samuel Antao <sfantao@us.ibm.com> | 2016-04-27 22:58:19 +0000 |
commit | df158d55678182a57485ba8005b3e444aaeff5ca (patch) | |
tree | 7c5fed557c71cec302c897b2aab5298dfb9ab1f9 /clang/lib/CodeGen/CGOpenMPRuntime.h | |
parent | f88174dd807a377380528ed0f58110f3b96a9513 (diff) | |
download | bcm5719-llvm-df158d55678182a57485ba8005b3e444aaeff5ca.tar.gz bcm5719-llvm-df158d55678182a57485ba8005b3e444aaeff5ca.zip |
[OpenMP] Code generation for target data directive
Summary:
This patch adds support for the target data directive code generation.
Part of the already existent functionality related with data maps is moved to a new function so that it could be reused.
Reviewers: hfinkel, carlo.bertolli, arpith-jacob, kkwli0, ABataev
Subscribers: cfe-commits, fraggamuffin, caomhin
Differential Revision: http://reviews.llvm.org/D17367
llvm-svn: 267811
Diffstat (limited to 'clang/lib/CodeGen/CGOpenMPRuntime.h')
-rw-r--r-- | clang/lib/CodeGen/CGOpenMPRuntime.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.h b/clang/lib/CodeGen/CGOpenMPRuntime.h index 4abdd23b7e1..c1589e8ff44 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntime.h +++ b/clang/lib/CodeGen/CGOpenMPRuntime.h @@ -1039,6 +1039,18 @@ public: /// \param ThreadLimit An integer expression of threads. virtual void emitNumTeamsClause(CodeGenFunction &CGF, const Expr *NumTeams, const Expr *ThreadLimit, SourceLocation Loc); + + /// \brief Emit the target data mapping code associated with \a D. + /// \param D Directive to emit. + /// \param IfCond Expression evaluated in if clause associated with the target + /// directive, or null if no if clause is used. + /// \param Device Expression evaluated in device clause associated with the + /// target directive, or null if no device clause is used. + /// \param CodeGen, Function that emits the enclosed region. + virtual void emitTargetDataCalls(CodeGenFunction &CGF, + const OMPExecutableDirective &D, + const Expr *IfCond, const Expr *Device, + const RegionCodeGenTy &CodeGen); }; } // namespace CodeGen |