summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/JIT/JIT.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Like constants, globals on some platforms are GOT relative. This means they ↵Andrew Lenharth2005-07-281-1/+2
| | | | | | | | | | | | | | have to be allocated near the GOT, which new doesn't do. So break out the allocate into a new function. Also move GOT index handling into JITResolver. This lets it update the mapping when a Lazy function is JITed. It doesn't managed the table, just the mapping. Note that this is still non-ideal, as any function that takes a function address should also take a GOT index, but that is a lot of changes. The relocation resolve process updates any GOT entry it sees is out of date. llvm-svn: 22537
* Eliminate all remaining tabs and trailing spaces.Jeff Cohen2005-07-271-1/+1
| | | | llvm-svn: 22523
* For PR540:Reid Spencer2005-07-121-6/+14
| | | | | | | | | | | | | | | | | | | | | | 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
* Make the stub functions be tail callsChris Lattner2005-05-061-1/+2
| | | | llvm-svn: 21738
* Remove trailing whitespaceMisha Brukman2005-04-211-7/+7
| | | | llvm-svn: 21422
* Silence VS warnings.Chris Lattner2005-01-081-1/+2
| | | | llvm-svn: 19390
* Properly implement a fix for PR475Chris Lattner2004-12-051-13/+0
| | | | llvm-svn: 18537
* Revert this patch, it broke a ton of programs.Chris Lattner2004-12-051-4/+0
| | | | llvm-svn: 18535
* Fix PR475.Alkis Evlogimenos2004-12-051-0/+4
| | | | llvm-svn: 18515
* Use System/DynamicLibrary instead of Support/DynamicLinkerReid Spencer2004-11-291-2/+2
| | | | llvm-svn: 18357
* This method does not exist any longer.Chris Lattner2004-11-201-4/+0
| | | | llvm-svn: 18061
* There is no reason to try to materialize the function from bytecode if itChris Lattner2004-11-151-9/+12
| | | | | | already has been. This may be a small speedup. llvm-svn: 17863
* Implement ExecutionEngine::freeMachineCodeForFunction()Misha Brukman2004-11-071-0/+6
| | | | llvm-svn: 17601
* Use cleaner quoting and eliminate blank spaceMisha Brukman2004-10-221-3/+3
| | | | llvm-svn: 17174
* Changes For Bug 352Reid Spencer2004-09-011-1/+1
| | | | | | | | 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
* Add a special case for argc,argvChris Lattner2004-08-161-2/+13
| | | | llvm-svn: 15802
* Finally, add support for calling arbitrary non-varargs functions.Chris Lattner2004-08-161-9/+58
| | | | llvm-svn: 15799
* Handle all nullary functions, of any valid return type.Chris Lattner2004-08-151-7/+46
| | | | llvm-svn: 15798
* Fine, go all of the way and check that the argument types are correct as well.Chris Lattner2004-08-151-13/+27
| | | | llvm-svn: 15797
* These only really work if returning int or voidChris Lattner2004-08-151-17/+21
| | | | llvm-svn: 15796
* Handle zero arg function caseChris Lattner2004-08-151-1/+5
| | | | llvm-svn: 15794
* Simplify code a bit, print error message always instead of asserting.Chris Lattner2004-08-151-16/+19
| | | | llvm-svn: 15793
* Make error message consistent with the rest of LLVM by saying that bytecodeReid Spencer2004-07-071-2/+2
| | | | | | is read, not parsed. llvm-svn: 14677
* Fix for bug 391.Reid Spencer2004-07-071-0/+3
| | | | | | Improve exeception handling around bcreader invocations. llvm-svn: 14674
* Add #include <iostream> since Value.h does not #include it any more.Reid Spencer2004-07-041-0/+2
| | | | llvm-svn: 14622
* Add a TargetData to the PassManager regardless of the TargetMachine.Brian Gaeke2004-04-141-0/+3
| | | | | | This should unbreak the Sparc JIT again. llvm-svn: 12949
* Print an error message if there is an error materialize the bc file.Chris Lattner2004-02-011-1/+6
| | | | llvm-svn: 11041
* No longer run atExit functions from run()Chris Lattner2003-12-261-14/+23
| | | | | | | rename run to runFunction Genericize the runFunction code a little bit, though it still stinks llvm-svn: 10610
* This should not be needed anymoreChris Lattner2003-12-201-4/+0
| | | | llvm-svn: 10558
* Implement PR135, lazy emission of global variablesChris Lattner2003-12-201-14/+63
| | | | llvm-svn: 10549
* Cleanup the JIT as per PR176. This renames the VM class to JIT, and merges theChris Lattner2003-12-201-77/+96
| | | | | | | VM.cpp and JIT.cpp files into JIT.cpp. This also splits some nasty code out into TargetSelect.cpp so that people hopefully won't notice it. :) llvm-svn: 10544
* Rip JIT specific stuff out of TargetMachine, as per PR176Chris Lattner2003-12-201-7/+8
| | | | llvm-svn: 10542
* Finegrainify namespacificationChris Lattner2003-12-081-5/+2
| | | | llvm-svn: 10318
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* Remove #include of PassManager.h which was marked FIXME, and apparently is noBrian Gaeke2003-11-091-3/+0
| | | | | | longer used. llvm-svn: 9823
* Remove the *BIG UGLY HACK* from the JIT: PreSelection is now a FunctionPass.Misha Brukman2003-11-071-15/+0
| | | | llvm-svn: 9790
* In VM::create(), comment out almost the whole function if NO_JITS_ENABLED,Brian Gaeke2003-10-291-3/+4
| | | | | | because the Arch variable will likely be undefined. llvm-svn: 9576
* 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
* JIT.cpp:Misha Brukman2003-10-161-3/+4
| | | | | | | | | | | | * #include "llvm/ModuleProvider" * alphabetize #includes * omit extraneous parens in pointer expressions VM.cpp: * #include "llvm/ModuleProvider" * alphabetize #includes llvm-svn: 9182
* Enabling incremental bytecode loading in the JIT:Misha Brukman2003-10-141-5/+10
| | | | | | * The VM is now constructed with a ModuleProvider llvm-svn: 9125
* ExecutionEngine.h, GenericValue.h --> include/llvm/ExecutionEngine/Brian Gaeke2003-09-051-1/+1
| | | | | | Build ExecutionEngine as library. llvm-svn: 8370
* Make CreateArgv part of lli rather than part of ExecutionEngine.Brian Gaeke2003-09-051-28/+15
| | | | | | | | | | | | | | | 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
* ExecutionEngine.cpp: Move execution engine creation stuff into a newBrian Gaeke2003-09-031-4/+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. llvm-svn: 8343
* Targets now configure themselves based on the source module, not on theChris Lattner2003-08-241-3/+3
| | | | | | ad-hoc "Config" flags llvm-svn: 8134
* Minor cleanups: wrap at 80 lines. Convert file comment to doxygen format andChris Lattner2003-08-211-26/+17
| | | | | | llvm style llvm-svn: 8024
* The JIT now passes the environment pointer to the main() function when itJohn Criswell2003-08-211-3/+27
| | | | | | | starts a program. This allows the GNU env program to compile and JIT under LLVM. llvm-svn: 8022
* Fix spaceChris Lattner2003-07-231-1/+1
| | | | llvm-svn: 7273
* * If compiling on X86 or Sparc, automagically enable the JIT for that archMisha Brukman2003-07-021-12/+23
| | | | | | | | | | | * Setting ENABLE_X86_JIT or ENABLE_SPARC_JIT on the `make' command-line will force the inclusion of that JIT on a different architecture * If neither JIT is enabled (e.g., compiling on a different architecture), the -march option will not be available to LLI. * As a side effect of the $ARCH variable, the Sparc LLI can now link just a bit faster by not including the x86 library. llvm-svn: 7070
* Apparently "sparc" is a macro on sparcs. Ugh. :)Chris Lattner2003-06-171-4/+4
| | | | llvm-svn: 6744
* Use more structured command line option processingChris Lattner2003-06-171-22/+28
| | | | llvm-svn: 6742
OpenPOWER on IntegriCloud