aboutsummaryrefslogtreecommitdiffstats
path: root/include/llvm/ExecutionEngine
Commit message (Collapse)AuthorAgeFilesLines
* Represent va_list in interpreter as a (ec-stack-depth . var-arg-index)Brian Gaeke2004-02-251-0/+1
| | | | | | | | | | pair, and look up varargs in the execution stack every time, instead of just pushing iterators (which can be invalidated during callFunction()) around. (union GenericValue now has a "pair of uints" member, to support this mechanism.) Fixes Bug 234. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@11845 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new ExecutionEngine::getGlobalValueAtAddress method, which can efficientlyChris Lattner2003-12-311-6/+25
| | | | | | | | | turn a memory address back into the LLVM global object that starts at that address. Note that this won't cause any additional datastructures to be built for clients of the EE that don't need this information. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10673 91177308-0d34-0410-b5e6-96231b3b80d8
* We may now pass IntrinsicLowering implementations into these methodsChris Lattner2003-12-281-2/+5
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10630 91177308-0d34-0410-b5e6-96231b3b80d8
* New methodChris Lattner2003-12-261-0/+7
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10615 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename 'run' to 'runFunction' to emphasize that it is usable to run anyChris Lattner2003-12-261-6/+8
| | | | | | | function in a module, not just main git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10608 91177308-0d34-0410-b5e6-96231b3b80d8
* Cleanups to implement PR135Chris Lattner2003-12-201-4/+11
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10548 91177308-0d34-0410-b5e6-96231b3b80d8
* Simple refactorings to prepare for lazy global emissionChris Lattner2003-12-201-3/+10
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10546 91177308-0d34-0410-b5e6-96231b3b80d8
* Doxygenify comments, remove extraneous #includeChris Lattner2003-12-121-16/+15
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10428 91177308-0d34-0410-b5e6-96231b3b80d8
* Use uintptr_t for pointer values in the ExecutionEngine.Brian Gaeke2003-12-121-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10425 91177308-0d34-0410-b5e6-96231b3b80d8
* add two new virtual functions:Chris Lattner2003-12-081-0/+17
| | | | | | | | The first returns a function pointer or a stub if it's not already generated The second exposes what was previously JIT specific state to general clients git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@10319 91177308-0d34-0410-b5e6-96231b3b80d8
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-112-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9903 91177308-0d34-0410-b5e6-96231b3b80d8
* ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke2003-10-241-2/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9488 91177308-0d34-0410-b5e6-96231b3b80d8
* Added LLVM copyright header (for lack of a better term).John Criswell2003-10-202-0/+14
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9304 91177308-0d34-0410-b5e6-96231b3b80d8
* If we move the constructors to the .cpp file, we can drop the #includeMisha Brukman2003-10-161-7/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9180 91177308-0d34-0410-b5e6-96231b3b80d8
* Enabling incremental bytecode loading in the JIT:Misha Brukman2003-10-141-7/+13
| | | | | | | | * ExecutionEngine can be constructed from a ModuleProvider * Alphabetized order of forward-declared classes git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@9123 91177308-0d34-0410-b5e6-96231b3b80d8
* Make getOperandValue and executeCastOperation methods of Interpreter.Brian Gaeke2003-09-051-4/+3
| | | | | | | This lets us protect a few more ExecutionEngine methods. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8367 91177308-0d34-0410-b5e6-96231b3b80d8
* Make CreateArgv part of lli rather than part of ExecutionEngine.Brian Gaeke2003-09-051-4/+2
| | | | | | | | | | | | | | | | Switch Interpreter and JIT's "run" methods to take a Function and a vector of GenericValues. Move (almost all of) the stuff that constructs a canonical call to main() into lli (new methods "callAsMain", "makeStringVector"). Nuke getCurrentExecutablePath(), enableTracing(), getCurrentFunction(), isStopped(), and many dead decls from interpreter. Add linux strdup() support to interpreter. Make interpreter's atexit handler runner and JIT's runAtExitHandlers() look more alike, in preparation for refactoring. atexit() is spelled "atexit", not "at_exit". git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8366 91177308-0d34-0410-b5e6-96231b3b80d8
* Zap some more unused static method declsBrian Gaeke2003-09-051-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8364 91177308-0d34-0410-b5e6-96231b3b80d8
* Interpreter cleanups:Brian Gaeke2003-09-041-3/+2
| | | | | | | | | | | | | Get rid of support for DebugMode (make it always off). Mung some comments. Get rid of interpreter's PROFILE_STRUCTURE_FIELDS and PerformExitStuff which have been disabled forever. Get rid of -abort-on-exception (make it always on). Get rid of user interaction stuff (debug mode innards). Simplify Interpreter's callMainFunction(). git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8344 91177308-0d34-0410-b5e6-96231b3b80d8
* ExecutionEngine.cpp: Move execution engine creation stuff into a newBrian Gaeke2003-09-031-0/+3
| | | | | | | | | | | | | | | | | | | static method here. Remove some extra blank lines. ExecutionEngine.h: Add its prototype. lli.cpp: Call it. Make creation method for each type of EE into a static method of its own subclass. Interpreter/Interpreter.cpp: ExecutionEngine::createInterpreter --> Interpreter::create Interpreter/Interpreter.h: Likewise. JIT/JIT.cpp: ExecutionEngine::createJIT --> VM::create JIT/VM.h: Likewise. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8343 91177308-0d34-0410-b5e6-96231b3b80d8
* Targets now configure themselves based on the source module, not on theChris Lattner2003-08-241-3/+3
| | | | | | | ad-hoc "Config" flags git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8134 91177308-0d34-0410-b5e6-96231b3b80d8
* The JIT now passes the environment pointer to the main() function when itJohn Criswell2003-08-211-2/+4
| | | | | | | | starts a program. This allows the GNU env program to compile and JIT under LLVM. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8022 91177308-0d34-0410-b5e6-96231b3b80d8
* Deconstify parameter to getPointerToFunction().Brian Gaeke2003-08-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7822 91177308-0d34-0410-b5e6-96231b3b80d8
* More cassert inclusion for GCC 3.3Chris Lattner2003-07-251-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7318 91177308-0d34-0410-b5e6-96231b3b80d8
* Make sure that globals are emitted AFTER the passmanager is set up for the JIT,Chris Lattner2003-05-121-2/+1
| | | | | | | because the globals may refer to functions that need to be compiled! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6105 91177308-0d34-0410-b5e6-96231b3b80d8
* Add new method to check to see if a global is availableChris Lattner2003-05-091-0/+8
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6058 91177308-0d34-0410-b5e6-96231b3b80d8
* Add a pointersize/endianness safe load routine to match the store routineChris Lattner2003-05-081-0/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6042 91177308-0d34-0410-b5e6-96231b3b80d8
* Initial checkin of new LLI with JIT compilerChris Lattner2002-12-242-0/+126
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5126 91177308-0d34-0410-b5e6-96231b3b80d8