diff options
author | Alexey Bataev <a.bataev@hotmail.com> | 2019-10-01 20:18:32 +0000 |
---|---|---|
committer | Alexey Bataev <a.bataev@hotmail.com> | 2019-10-01 20:18:32 +0000 |
commit | 2df5f12ea119ea653c92fee347ef5a00ca64f0ad (patch) | |
tree | 7cba4e7f612c426661d36df6169dc1fb47d556ed /clang/lib/CodeGen/CGOpenMPRuntime.h | |
parent | 91b62d5c89ef7ca5b1101e8006513a0af88ccb96 (diff) | |
download | bcm5719-llvm-2df5f12ea119ea653c92fee347ef5a00ca64f0ad.tar.gz bcm5719-llvm-2df5f12ea119ea653c92fee347ef5a00ca64f0ad.zip |
[OPENMP50]Initial codegen for declare variant implementation vendor.
Initial implementation of global aliases emission for the declare
variant pragma with implementation vendor context selector set.
llvm-svn: 373387
Diffstat (limited to 'clang/lib/CodeGen/CGOpenMPRuntime.h')
-rw-r--r-- | clang/lib/CodeGen/CGOpenMPRuntime.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGOpenMPRuntime.h b/clang/lib/CodeGen/CGOpenMPRuntime.h index afec628feb2..032cb23f206 100644 --- a/clang/lib/CodeGen/CGOpenMPRuntime.h +++ b/clang/lib/CodeGen/CGOpenMPRuntime.h @@ -644,6 +644,12 @@ private: /// must be emitted. llvm::SmallDenseSet<const VarDecl *> DeferredGlobalVariables; + /// Mapping of the original functions to their variants and original global + /// decl. + llvm::MapVector<CanonicalDeclPtr<const FunctionDecl>, + std::pair<GlobalDecl, GlobalDecl>> + DeferredVariantFunction; + /// Flag for keeping track of weather a requires unified_shared_memory /// directive is present. bool HasRequiresUnifiedSharedMemory = false; @@ -1652,6 +1658,9 @@ public: /// Return whether the unified_shared_memory has been specified. bool hasRequiresUnifiedSharedMemory() const; + + /// Emits the definition of the declare variant function. + virtual bool emitDeclareVariant(GlobalDecl GD, bool IsForDefinition); }; /// Class supports emissionof SIMD-only code. |