diff options
author | Chris Lattner <sabre@nondot.org> | 2003-12-28 09:44:37 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-12-28 09:44:37 +0000 |
commit | c8c6c03dda789a6af20b23182b11bef088498735 (patch) | |
tree | 8a5d9666df719773bf0b2c4da85d44003a5954fa /llvm/lib/ExecutionEngine/Interpreter/Interpreter.h | |
parent | 4b75e04a6033e248f2e3b7665f6d6bac6b197c5d (diff) | |
download | bcm5719-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.h | 12 |
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. /// |