summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2003-12-28 09:44:37 +0000
committerChris Lattner <sabre@nondot.org>2003-12-28 09:44:37 +0000
commitc8c6c03dda789a6af20b23182b11bef088498735 (patch)
tree8a5d9666df719773bf0b2c4da85d44003a5954fa /llvm/lib/ExecutionEngine/Interpreter/Interpreter.h
parent4b75e04a6033e248f2e3b7665f6d6bac6b197c5d (diff)
downloadbcm5719-llvm-c8c6c03dda789a6af20b23182b11bef088498735.tar.gz
bcm5719-llvm-c8c6c03dda789a6af20b23182b11bef088498735.zip
Pass around IntrinsicLowering instances as appropriate.
Reimplement the Interpreters implementation of va_* to be more direct. llvm-svn: 10627
Diffstat (limited to 'llvm/lib/ExecutionEngine/Interpreter/Interpreter.h')
-rw-r--r--llvm/lib/ExecutionEngine/Interpreter/Interpreter.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h
index 1f50777351f..5757327c208 100644
--- a/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h
+++ b/llvm/lib/ExecutionEngine/Interpreter/Interpreter.h
@@ -79,6 +79,7 @@ struct ExecutionContext {
class Interpreter : public ExecutionEngine, public InstVisitor<Interpreter> {
int ExitCode; // The exit code to be returned by the lli util
TargetData TD;
+ IntrinsicLowering *IL;
// The runtime stack of executing code. The top of the stack is the current
// function record.
@@ -89,17 +90,20 @@ class Interpreter : public ExecutionEngine, public InstVisitor<Interpreter> {
std::vector<Function*> AtExitHandlers;
public:
- Interpreter(Module *M, bool isLittleEndian, bool isLongPointer);
- inline ~Interpreter() { }
+ Interpreter(Module *M, bool isLittleEndian, bool isLongPointer,
+ IntrinsicLowering *IL);
+ ~Interpreter();
/// runAtExitHandlers - Run any functions registered by the program's calls to
/// atexit(3), which we intercept and store in AtExitHandlers.
///
void runAtExitHandlers();
- /// create - Create an interpreter ExecutionEngine. This can never fail.
+ /// create - Create an interpreter ExecutionEngine. This can never fail. The
+ /// specified IntrinsicLowering implementation will be deleted when the
+ /// Interpreter execution engine is destroyed.
///
- static ExecutionEngine *create(Module *M);
+ static ExecutionEngine *create(Module *M, IntrinsicLowering *IL);
/// run - Start execution with the specified function and arguments.
///
OpenPOWER on IntegriCloud