summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/ExecutionEngine.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Add a helper method for running static ctors/dtors in the module.Chris Lattner2006-03-081-2/+31
| | | | llvm-svn: 26619
* Teach the interpreter to handle global variables that are added to a module ↵Jeff Cohen2006-02-071-1/+10
| | | | | | | | | after interpretation has begun. The JIT already handles this situation correctly, and the interpreter can already handle new functions being added. llvm-svn: 26030
* Fixed InitializeMemory to handle ConstantPacked.Robert Bocchino2006-01-201-0/+6
| | | | llvm-svn: 25481
* Fix a nasty bug that was causing miscompilation of global variablesChris Lattner2005-10-231-1/+4
| | | | | | | on big endian 32-bit targets in some cases (e.g. PPC). This fixes several PPC JIT failures. llvm-svn: 23914
* For PR540:Reid Spencer2005-07-121-7/+10
| | | | | | | | | | | | | | | | | | | | | | This patch completes the changes for making lli thread-safe. Here's the list of changes: * The Support/ThreadSupport* files were removed and replaced with the MutexGuard.h file since all ThreadSupport* declared was a Mutex Guard. The implementation of MutexGuard.h is now based on sys::Mutex which hides its implementation and makes it unnecessary to have the -NoSupport.h and -PThreads.h versions of ThreadSupport. * All places in ExecutionEngine that previously referred to "Mutex" now refer to sys::Mutex * All places in ExecutionEngine that previously referred to "MutexLocker" now refer to MutexGuard (this is frivolous but I believe the technically correct name for such a class is "Guard" not a "Locker"). These changes passed all of llvm-test. All we need now are some test cases that actually use multiple threads. llvm-svn: 22404
* fix long linesChris Lattner2005-07-111-3/+4
| | | | llvm-svn: 22369
* Fix a really horrible problem that causes the JIT to miscompile any programChris Lattner2005-05-121-2/+2
| | | | | | that use 64-bit integers on 32-bit hosts. llvm-svn: 21886
* Remove trailing whitespaceMisha Brukman2005-04-211-21/+21
| | | | llvm-svn: 21420
* This mega patch converts us from using Function::a{iterator|begin|end} toChris Lattner2005-03-151-2/+2
| | | | | | | | using Function::arg_{iterator|begin|end}. Likewise Module::g* -> Module::global_*. This patch is contributed by Gabor Greif, thanks! llvm-svn: 20597
* Use const iterators where possible. Patch by Evan Jones!Chris Lattner2005-02-271-2/+2
| | | | llvm-svn: 20354
* This is no longer needed. Global variables with undef initializers can beChris Lattner2005-02-021-2/+0
| | | | | | initialized to anything, including garbage. llvm-svn: 20010
* Silence VS warnings.Chris Lattner2005-01-081-37/+37
| | | | llvm-svn: 19391
* Use System/DynamicLibrary instead of Support/DynamicLinkerReid Spencer2004-11-291-5/+12
| | | | llvm-svn: 18357
* This is a horrible hack to work around libstdc++ bugs :(Chris Lattner2004-11-191-2/+6
| | | | llvm-svn: 17988
* Fix the interpreter crash that Michael McCracken foundChris Lattner2004-10-261-0/+1
| | | | llvm-svn: 17239
* Add support for undefChris Lattner2004-10-161-1/+3
| | | | llvm-svn: 17055
* Changes For Bug 352Reid Spencer2004-09-011-3/+3
| | | | | | | | Move include/Config and include/Support into include/llvm/Config, include/llvm/ADT and include/llvm/Support. From here on out, all LLVM public header files must be under include/llvm/. llvm-svn: 16137
* Don't pass too many arguments into runFunctionChris Lattner2004-08-161-8/+15
| | | | llvm-svn: 15801
* Stop using getValues().Alkis Evlogimenos2004-08-041-7/+4
| | | | llvm-svn: 15487
* bug 122:Reid Spencer2004-07-181-11/+6
| | | | | | | - Replace ConstantPointerRef usage with GlobalValue usage - Correct isa<Constant> for GlobalValue subclass llvm-svn: 14951
* Fixes for PR341Chris Lattner2004-07-151-4/+4
| | | | llvm-svn: 14847
* Make add constantexprs work with all types, fixing the regressions from last ↵Chris Lattner2004-07-111-4/+28
| | | | | | night llvm-svn: 14760
* Fix for bug 391.Reid Spencer2004-07-071-0/+2
| | | | | | Improve exeception handling around bcreader invocations. llvm-svn: 14674
* Move the IntrinsicLowering header into the CodeGen directoryChris Lattner2004-06-201-1/+1
| | | | llvm-svn: 14265
* Rename Type::PrimitiveID to TypeId and ::getPrimitiveID() to ::getTypeID()Chris Lattner2004-06-171-8/+8
| | | | llvm-svn: 14201
* Remove long unused #includesChris Lattner2004-05-271-1/+0
| | | | llvm-svn: 13857
* Fix PR296: [execution engines] Unhandled cast constant expressionChris Lattner2004-03-161-6/+17
| | | | llvm-svn: 12435
* 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
OpenPOWER on IntegriCloud