summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2013-12-07 03:05:51 +0000
committerLang Hames <lhames@gmail.com>2013-12-07 03:05:51 +0000
commita6913580781b62c2e9b79f9da4a30a1ee84b90b7 (patch)
treedd9b3e27838bd453bb43ec7231f87856377d2f6a /llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
parentbbf18c69580e19e260ffeb7c6e7872905c606e9c (diff)
downloadbcm5719-llvm-a6913580781b62c2e9b79f9da4a30a1ee84b90b7.tar.gz
bcm5719-llvm-a6913580781b62c2e9b79f9da4a30a1ee84b90b7.zip
Add support for archives and object file caching under MCJIT.
Patch by Andy Kaylor, with minor edits to resolve merge conflicts. llvm-svn: 196639
Diffstat (limited to 'llvm/lib/ExecutionEngine/MCJIT/MCJIT.h')
-rw-r--r--llvm/lib/ExecutionEngine/MCJIT/MCJIT.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h b/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
index 86b478bff56..f45e869cd5f 100644
--- a/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
+++ b/llvm/lib/ExecutionEngine/MCJIT/MCJIT.h
@@ -206,8 +206,10 @@ class MCJIT : public ExecutionEngine {
OwningModuleContainer OwnedModules;
- typedef DenseMap<Module *, ObjectImage *> LoadedObjectMap;
- LoadedObjectMap LoadedObjects;
+ SmallVector<object::Archive*, 2> Archives;
+
+ typedef SmallVector<ObjectImage *, 2> LoadedObjectList;
+ LoadedObjectList LoadedObjects;
// An optional ObjectCache to be notified of compiled objects and used to
// perform lookup of pre-compiled code to avoid re-compilation.
@@ -227,6 +229,8 @@ public:
/// @name ExecutionEngine interface implementation
/// @{
virtual void addModule(Module *M);
+ virtual void addObjectFile(object::ObjectFile *O);
+ virtual void addArchive(object::Archive *O);
virtual bool removeModule(Module *M);
/// FindFunctionNamed - Search all of the active modules to find the one that
OpenPOWER on IntegriCloud