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/JIT | |
| 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/JIT')
| -rw-r--r-- | llvm/lib/ExecutionEngine/JIT/JIT.h | 6 | ||||
| -rw-r--r-- | llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp | 7 |
2 files changed, 8 insertions, 5 deletions
diff --git a/llvm/lib/ExecutionEngine/JIT/JIT.h b/llvm/lib/ExecutionEngine/JIT/JIT.h index 53e8738bb84..414d1c6e683 100644 --- a/llvm/lib/ExecutionEngine/JIT/JIT.h +++ b/llvm/lib/ExecutionEngine/JIT/JIT.h @@ -44,9 +44,11 @@ public: ~JIT(); /// create - Create an return a new JIT compiler if there is one available - /// for the current target. Otherwise, return null. + /// for the current target. Otherwise, return null. If the JIT is created + /// successfully, it takes responsibility for deleting the specified + /// IntrinsicLowering implementation. /// - static ExecutionEngine *create(ModuleProvider *MP); + static ExecutionEngine *create(ModuleProvider *MP, IntrinsicLowering *IL = 0); /// run - Start execution with the specified function and arguments. /// diff --git a/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp b/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp index 4a381fb5a2d..05408628703 100644 --- a/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp +++ b/llvm/lib/ExecutionEngine/JIT/TargetSelect.cpp @@ -53,8 +53,9 @@ namespace { /// create - Create an return a new JIT compiler if there is one available /// for the current target. Otherwise, return null. /// -ExecutionEngine *JIT::create(ModuleProvider *MP) { - TargetMachine* (*TargetMachineAllocator)(const Module &) = 0; +ExecutionEngine *JIT::create(ModuleProvider *MP, IntrinsicLowering *IL) { + TargetMachine* (*TargetMachineAllocator)(const Module &, + IntrinsicLowering *IL) = 0; // Allow a command-line switch to override what *should* be the default target // machine for this platform. This allows for debugging a Sparc JIT on X86 -- @@ -80,7 +81,7 @@ ExecutionEngine *JIT::create(ModuleProvider *MP) { #endif // Allocate a target... - TargetMachine *Target = TargetMachineAllocator(*MP->getModule()); + TargetMachine *Target = TargetMachineAllocator(*MP->getModule(), IL); assert(Target && "Could not allocate target machine!"); // If the target supports JIT code generation, return a new JIT now. |

