projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[MCJIT] Start Stringref-izing the ExecutionEngine interface.
[oota-llvm.git]
/
lib
/
ExecutionEngine
/
Interpreter
/
Interpreter.h
diff --git
a/lib/ExecutionEngine/Interpreter/Interpreter.h
b/lib/ExecutionEngine/Interpreter/Interpreter.h
index 98269efa81400e500d93d64c7a7898c27b991ac3..0b620d1f8d7c840a31ed50d1ee1aa7cac5d5813e 100644
(file)
--- a/
lib/ExecutionEngine/Interpreter/Interpreter.h
+++ b/
lib/ExecutionEngine/Interpreter/Interpreter.h
@@
-11,15
+11,15
@@
//
//===----------------------------------------------------------------------===//
//
//===----------------------------------------------------------------------===//
-#ifndef LL
I
_INTERPRETER_H
-#define LL
I
_INTERPRETER_H
+#ifndef LL
VM_LIB_EXECUTIONENGINE_INTERPRETER
_INTERPRETER_H
+#define LL
VM_LIB_EXECUTIONENGINE_INTERPRETER
_INTERPRETER_H
#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/ExecutionEngine/GenericValue.h"
#include "llvm/ExecutionEngine/ExecutionEngine.h"
#include "llvm/ExecutionEngine/GenericValue.h"
+#include "llvm/IR/CallSite.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/Function.h"
-#include "llvm/InstVisitor.h"
-#include "llvm/Support/CallSite.h"
+#include "llvm/IR/InstVisitor.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/DataTypes.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
@@
-94,7
+94,7
@@
class Interpreter : public ExecutionEngine, public InstVisitor<Interpreter> {
std::vector<Function*> AtExitHandlers;
public:
std::vector<Function*> AtExitHandlers;
public:
- explicit Interpreter(
Module *
M);
+ explicit Interpreter(
std::unique_ptr<Module>
M);
~Interpreter();
/// runAtExitHandlers - Run any functions registered by the program's calls to
~Interpreter();
/// runAtExitHandlers - Run any functions registered by the program's calls to
@@
-105,33
+105,23
@@
public:
static void Register() {
InterpCtor = create;
}
static void Register() {
InterpCtor = create;
}
-
- ///
create - Create an interpreter ExecutionEngine. This can never fail
.
+
+ ///
Create an interpreter ExecutionEngine
.
///
///
- static ExecutionEngine *create(Module *M, std::string *ErrorStr = 0);
+ static ExecutionEngine *create(std::unique_ptr<Module> M,
+ std::string *ErrorStr = nullptr);
/// run - Start execution with the specified function and arguments.
///
/// run - Start execution with the specified function and arguments.
///
-
virtual
GenericValue runFunction(Function *F,
-
const std::vector<GenericValue> &ArgValues)
;
+ GenericValue runFunction(Function *F,
+
const std::vector<GenericValue> &ArgValues) override
;
- v
irtual void *getPointerToNamedFunction(const std::string &
Name,
-
bool AbortOnFailure = true)
{
+ v
oid *getPointerToNamedFunction(StringRef
Name,
+
bool AbortOnFailure = true) override
{
// FIXME: not implemented.
// FIXME: not implemented.
- return 0;
- }
-
- /// recompileAndRelinkFunction - For the interpreter, functions are always
- /// up-to-date.
- ///
- virtual void *recompileAndRelinkFunction(Function *F) {
- return getPointerToFunction(F);
+ return nullptr;
}
}
- /// freeMachineCodeForFunction - The interpreter does not generate any code.
- ///
- void freeMachineCodeForFunction(Function *F) { }
-
// Methods used to execute code:
// Place a call on the stack
void callFunction(Function *F, const std::vector<GenericValue> &ArgVals);
// Methods used to execute code:
// Place a call on the stack
void callFunction(Function *F, const std::vector<GenericValue> &ArgVals);
@@
-212,8
+202,7
@@
private: // Helper functions
//
void SwitchToNewBasicBlock(BasicBlock *Dest, ExecutionContext &SF);
//
void SwitchToNewBasicBlock(BasicBlock *Dest, ExecutionContext &SF);
- void *getPointerToFunction(Function *F) { return (void*)F; }
- void *getPointerToBasicBlock(BasicBlock *BB) { return (void*)BB; }
+ void *getPointerToFunction(Function *F) override { return (void*)F; }
void initializeExecutionEngine() { }
void initializeExternalFunctions();
void initializeExecutionEngine() { }
void initializeExternalFunctions();