summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Make the JIT zero out globals with memset instead of an element at a time. ThisChris Lattner2004-02-151-0/+4
| | | | | | should speed it up a bit on a lot of programs llvm-svn: 11472
* Print out all globals as they are emitted, not just those emitted fromChris Lattner2004-02-081-3/+2
| | | | | | emitGlobals llvm-svn: 11191
* Print an error message if we can't materialize the bytecode fileChris Lattner2004-02-011-5/+11
| | | | llvm-svn: 11043
* Add new ExecutionEngine::getGlobalValueAtAddress method, which can efficientlyChris Lattner2003-12-311-5/+21
| | | | | | | | | | 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. Also modified some code to not access the GlobalAddress map directly. llvm-svn: 10674
* Pass around IntrinsicLowering instances as appropriate.Chris Lattner2003-12-281-4/+8
| | | | | | Reimplement the Interpreters implementation of va_* to be more direct. llvm-svn: 10627
* Factor code out of LLIChris Lattner2003-12-261-0/+54
| | | | llvm-svn: 10616
* Implement PR135, lazy emission of global variablesChris Lattner2003-12-201-4/+7
| | | | llvm-svn: 10549
* Simple refactorings to prepare for lazy global emissionChris Lattner2003-12-201-2/+16
| | | | | | Also, add a stat for the number of globals emitted llvm-svn: 10547
* Update for changes in the JITChris Lattner2003-12-201-2/+2
| | | | llvm-svn: 10543
* Use the new method, though noone currently implements it any better than beforeChris Lattner2003-12-081-1/+5
| | | | llvm-svn: 10320
* Fine grainify namespaceificationChris Lattner2003-11-191-5/+4
| | | | llvm-svn: 10093
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+3
| | | | llvm-svn: 9903
* ExecutionEngine::create no longer takes a TraceMode argument.Brian Gaeke2003-10-241-5/+4
| | | | llvm-svn: 9488
* Added LLVM project notice to the top of every C++ source file.John Criswell2003-10-201-0/+7
| | | | | | Header files will be on the way. llvm-svn: 9298
* Don't release the Module, as that invalidates the Module* within theMisha Brukman2003-10-171-2/+2
| | | | | | | ModuleProvider, which has bad consequences in lli::callAsMain() which tries to access that same Module*. llvm-svn: 9205
* * Reorder includes as per the style guideMisha Brukman2003-10-161-6/+22
| | | | | | | | * Move the constructors from .h file here * Document ExecutionEngine::create() * Catch exception possibly thrown by ModuleProvider::releaseModule() llvm-svn: 9181
* Enabling incremental bytecode loading in the JIT:Misha Brukman2003-10-141-4/+5
| | | | | | * ExecutionEngine and VM can be constructed using a ModuleProvider. llvm-svn: 9124
* * Tabs to spacesMisha Brukman2003-10-101-8/+16
| | | | | | | * Doxygenified function comments * Added FIXMEs to solicit documentation for other functions llvm-svn: 9022
* Change to use GetAddressOfSymbol instead of dlsym.Brian Gaeke2003-10-101-8/+4
| | | | llvm-svn: 9012
* Reorder #includes to follow LLVM conventionsChris Lattner2003-09-051-5/+5
| | | | llvm-svn: 8375
* ExecutionEngine.h, GenericValue.h --> include/llvm/ExecutionEngine/Brian Gaeke2003-09-051-4/+4
| | | | | | Build ExecutionEngine as library. llvm-svn: 8370
* Make CreateArgv part of lli rather than part of ExecutionEngine.Brian Gaeke2003-09-051-39/+0
| | | | | | | | | | | | | | | 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". llvm-svn: 8366
* Move EE dtor where it belongsBrian Gaeke2003-09-041-0/+4
| | | | llvm-svn: 8345
* Interpreter cleanups:Brian Gaeke2003-09-041-3/+3
| | | | | | | | | | | | 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(). llvm-svn: 8344
* ExecutionEngine.cpp: Move execution engine creation stuff into a newBrian Gaeke2003-09-031-2/+16
| | | | | | | | | | | | | | | | | | 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. llvm-svn: 8343
* Consult the target data, not the module, about how large the current pointerChris Lattner2003-08-241-4/+4
| | | | | | | size is. This ensures that if the module has no specified pointer size that things will work correctly. llvm-svn: 8136
* Add preliminary support for "any" pointersize/endianness. This will needChris Lattner2003-08-241-4/+4
| | | | | | to change soon though. llvm-svn: 8123
* no really, implement it!Chris Lattner2003-08-181-2/+1
| | | | llvm-svn: 7955
* Add support for casting any pointer to any integer typeChris Lattner2003-08-181-6/+8
| | | | llvm-svn: 7953
* In ExecutionEngine::getPointerToGlobal(), throw away const qualifierBrian Gaeke2003-08-131-1/+1
| | | | | | on Function * when passing it to getPointerToFunction(). llvm-svn: 7818
* Specify DEBUG_TYPE's for the JIT debug messagesChris Lattner2003-08-051-0/+1
| | | | llvm-svn: 7604
* DEBUG got moved to Debug.hChris Lattner2003-08-011-3/+2
| | | | llvm-svn: 7491
* Cleaned up the code which chooses the appropriate value for the file descriptorMisha Brukman2003-07-181-5/+4
| | | | | | | to pass to dlsym() -- Linux/x86 wants 0 while Sparc/Solaris wants RTLD_SELF, which is not zero. Thanks to Chris for the suggestion. llvm-svn: 7204
* Clean up my last checkin: code is easier to read and explains the differences inMisha Brukman2003-07-151-4/+5
| | | | | | usage of the special file handle RTLD_SELF on Sparc/Solaris vs. 0 on Linux/x86. llvm-svn: 7177
* On Sparc/Solaris, the special handle RTLD_SELF is used as a handle referring toMisha Brukman2003-07-151-1/+6
| | | | | | | the program's executing image, not 0 as it is on Linux/x86 and possibly other systems. llvm-svn: 7176
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-301-1/+1
| | | | | | system. llvm-svn: 7014
* Fix typeosChris Lattner2003-05-141-4/+4
| | | | llvm-svn: 6204
* Add support for more constant expressionsChris Lattner2003-05-141-6/+35
| | | | llvm-svn: 6203
* Clean up castChris Lattner2003-05-131-1/+1
| | | | llvm-svn: 6174
* Add a pointersize/endianness safe load routine to match the store routineChris Lattner2003-05-081-0/+76
| | | | llvm-svn: 6042
* Fix bug: Jello/2003-05-07-ArgumentTest.llxChris Lattner2003-05-071-17/+33
| | | | | | Also fixes yacr2/ks benchmarks llvm-svn: 6017
* Fix bug where pointers were assumed to always be 64 bits in size!Chris Lattner2003-04-231-4/+8
| | | | llvm-svn: 5890
* * Implement access to external variables in LLIChris Lattner2003-04-231-10/+31
| | | | | | * Implement GetElementPtr constant expressions when initializing global variables llvm-svn: 5880
* Make stderr, stdout, stdin work with LLIChris Lattner2003-04-211-0/+6
| | | | llvm-svn: 5832
* Add fixmeChris Lattner2003-01-131-1/+2
| | | | llvm-svn: 5251
* Add diagnostic outputChris Lattner2002-12-281-0/+1
| | | | llvm-svn: 5157
* Fixes to compile with GCC 3.2Chris Lattner2002-12-241-5/+5
| | | | llvm-svn: 5134
* Initial checkin of new LLI with JIT compilerChris Lattner2002-12-241-0/+226
llvm-svn: 5126
OpenPOWER on IntegriCloud