summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGOpenMPRuntime.h
diff options
context:
space:
mode:
authorAlexey Bataev <a.bataev@hotmail.com>2019-10-01 20:18:32 +0000
committerAlexey Bataev <a.bataev@hotmail.com>2019-10-01 20:18:32 +0000
commit2df5f12ea119ea653c92fee347ef5a00ca64f0ad (patch)
tree7cba4e7f612c426661d36df6169dc1fb47d556ed /clang/lib/CodeGen/CGOpenMPRuntime.h
parent91b62d5c89ef7ca5b1101e8006513a0af88ccb96 (diff)
downloadbcm5719-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.h9
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.
OpenPOWER on IntegriCloud