aboutsummaryrefslogtreecommitdiff
path: root/include/llvm/ExecutionEngine/ExecutionEngine.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/llvm/ExecutionEngine/ExecutionEngine.h')
-rw-r--r--include/llvm/ExecutionEngine/ExecutionEngine.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/llvm/ExecutionEngine/ExecutionEngine.h b/include/llvm/ExecutionEngine/ExecutionEngine.h
index f049197e52..573e5f1d9a 100644
--- a/include/llvm/ExecutionEngine/ExecutionEngine.h
+++ b/include/llvm/ExecutionEngine/ExecutionEngine.h
@@ -21,9 +21,10 @@
namespace llvm {
+union GenericValue;
class Constant;
class Function;
-union GenericValue;
+class GlobalVariable;
class GlobalValue;
class Module;
class ModuleProvider;
@@ -60,8 +61,8 @@ public:
static ExecutionEngine *create(ModuleProvider *MP, bool ForceInterpreter);
- void addGlobalMapping(const Function *F, void *Addr) {
- void *&CurVal = GlobalAddress[(const GlobalValue*)F];
+ void addGlobalMapping(const GlobalValue *GV, void *Addr) {
+ void *&CurVal = GlobalAddress[GV];
assert(CurVal == 0 && "GlobalMapping already established!");
CurVal = Addr;
}
@@ -107,6 +108,12 @@ public:
protected:
void emitGlobals();
+
+ // EmitGlobalVariable - This method emits the specified global variable to the
+ // address specified in GlobalAddresses, or allocates new memory if it's not
+ // already in the map.
+ void EmitGlobalVariable(GlobalVariable *GV);
+
GenericValue getConstantValue(const Constant *C);
GenericValue LoadValueFromMemory(GenericValue *Ptr, const Type *Ty);
};