summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine
Commit message (Collapse)AuthorAgeFilesLines
* Sparc peephole optimizer moved out of post-opts library into Sparc target ↵Chris Lattner2003-09-011-1/+1
| | | | | | library llvm-svn: 8302
* 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
* Targets now configure themselves based on the source module, not on theChris Lattner2003-08-243-13/+31
| | | | | | ad-hoc "Config" flags llvm-svn: 8134
* Add preliminary support for "any" pointersize/endianness. This will needChris Lattner2003-08-242-5/+6
| | | | | | to change soon though. llvm-svn: 8123
* 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-214-6/+33
| | | | | | | starts a program. This allows the GNU env program to compile and JIT under LLVM. llvm-svn: 8022
* 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
* Spell `necessary' correctly.Misha Brukman2003-08-181-1/+1
| | | | llvm-svn: 7944
* rename selection library to selectiondagChris Lattner2003-08-151-1/+1
| | | | llvm-svn: 7878
* Implement a _REAL_ memory manager for the code generated by the JIT. ThisChris Lattner2003-08-141-42/+100
| | | | | | speeds up program execution by 15% pretty consistently for large programs llvm-svn: 7845
* Deconstify parameter to getPointerToFunction().Brian Gaeke2003-08-131-1/+1
| | | | llvm-svn: 7822
* Deconstify parameter to getPointerToFunction().Brian Gaeke2003-08-131-2/+2
| | | | | | Use a FunctionPassManager instead of a PassManager. llvm-svn: 7820
* Deconstify parameter to getPointerToFunction().Brian Gaeke2003-08-131-5/+3
| | | | | | | Run passes on single function (hey, just-in-time compilation!) instead of the entire module that contains it. llvm-svn: 7819
* In ExecutionEngine::getPointerToGlobal(), throw away const qualifierBrian Gaeke2003-08-131-1/+1
| | | | | | on Function * when passing it to getPointerToFunction(). llvm-svn: 7818
* Incorporate mapping library into the sparc libraryChris Lattner2003-08-131-1/+1
| | | | llvm-svn: 7800
* Include the new selection library for the X86 targetChris Lattner2003-08-111-1/+1
| | | | llvm-svn: 7720
* Specify DEBUG_TYPE's for the JIT debug messagesChris Lattner2003-08-052-0/+2
| | | | llvm-svn: 7604
* DEBUG got moved to Debug.hChris Lattner2003-08-012-3/+3
| | | | llvm-svn: 7491
* * Stop hard-coding a value for beginning of emitted code on Sparc since we canMisha Brukman2003-07-291-10/+6
| | | | | | | | now handle far calls (i.e., beyond the 30-bit limit in call instructions). * As a side-effect, this allows us to unify and clean up the mmap() call and code around it. llvm-svn: 7381
* Add rationale for the MAP_ANONYMOUS vs. MAP_ANON flags.Misha Brukman2003-07-281-0/+1
| | | | llvm-svn: 7368
* Add ability for external C code to get pointers to functions given their name.Misha Brukman2003-07-281-3/+15
| | | | | | | | | This us used by bugpoint -- when code is compiled to a shared object to be JITted, it must use the JIT's lazy resolution method to find function addresses, because some functions will not be available at .so load time, as they are in the bytecode file. llvm-svn: 7363
* Clean up code dealing with RTLD_SELF differences on Sparc and X86.Misha Brukman2003-07-281-5/+5
| | | | llvm-svn: 7362
* Fix reference to architecture.Misha Brukman2003-07-281-1/+1
| | | | llvm-svn: 7361
* Add in support to load shared objects (-load is provided by Support library).Misha Brukman2003-07-281-1/+1
| | | | llvm-svn: 7360
* Fix spaceChris Lattner2003-07-231-1/+1
| | | | llvm-svn: 7273
* Remove redundant const qualifierChris Lattner2003-07-231-3/+3
| | | | llvm-svn: 7254
* 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
* * If compiling on X86 or Sparc, automagically enable the JIT for that archMisha Brukman2003-07-023-21/+73
| | | | | | | | | | | * 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
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-305-7/+8
| | | | | | system. llvm-svn: 7014
* Get rid of the duplicate '0x' in debug mode.Brian Gaeke2003-06-301-1/+1
| | | | llvm-svn: 7012
* Include <cmath> instead of <math.h>Brian Gaeke2003-06-231-10/+1
| | | | | | Remove isnan; it's too unportable to handle cleanly at this point. llvm-svn: 6866
* Add #ifdef hack for MAP_ANONYMOUS being spelled MAP_ANON on some platforms.Brian Gaeke2003-06-171-0/+3
| | | | | | | (We're already talking about autoconf'ing this, so I'm assuming this hack will be short-lived...I just don't want it to get lost in my working files.) llvm-svn: 6761
* Use $(PLATFORMLIBDL) to selectively bring in -ldl only on those platforms whereBrian Gaeke2003-06-171-1/+1
| | | | | | it is needed. llvm-svn: 6753
* Use std::isnan instead of isnan. Brought back to you from theBrian Gaeke2003-06-171-1/+1
| | | | | | future, by the reconciliation of the C++ and C99 standards. Someday. llvm-svn: 6751
* Life is too short. Link in too much stuff on Linux to make building on sun ↵Chris Lattner2003-06-171-4/+3
| | | | | | easier llvm-svn: 6748
* The never-ending odyssey trying to get sparc to linkChris Lattner2003-06-171-1/+1
| | | | llvm-svn: 6747
* Make sure to get the value of ARCH before we use itChris Lattner2003-06-171-0/+5
| | | | llvm-svn: 6746
* Do not link in the Sparc JIT when building on X86. Eventually the sparc ↵Chris Lattner2003-06-171-6/+6
| | | | | | | | | | will not link in the X86 JIT either, but this makes testing easier. For some reason, the sparc JIT was breaking the X86 JIT when it was linked in. :( llvm-svn: 6745
* Apparently "sparc" is a macro on sparcs. Ugh. :)Chris Lattner2003-06-171-4/+4
| | | | llvm-svn: 6744
* Whoops, didn't mean to check that in :(Chris Lattner2003-06-171-3/+19
| | | | llvm-svn: 6743
* Use more structured command line option processingChris Lattner2003-06-172-41/+31
| | | | llvm-svn: 6742
* #ifdef out code that only applies when the HOSTARCH = sparcChris Lattner2003-06-171-1/+4
| | | | llvm-svn: 6741
* Add #include for older GCC'sChris Lattner2003-06-081-0/+1
| | | | llvm-svn: 6670
* ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT :::Misha Brukman2003-06-061-1/+14
| | | | | | | | | | | | | | | | | The JIT is designed to code-generate a function at-a-time. That means that any pass can only make local changes to its function. Period. Because the Sparc PreSelection pass claims to be a BasicBlock pass while adding globals to the Module, it cannot be run with the other passes, because by this time, the globals have been output already by the JIT, and the addresses of any globals appearing AFTER this point are not recognized. However, the PreSelection pass is a requirement for correctness in the Sparc codegen path, so it MUST be run. ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: HACK ALERT ::: llvm-svn: 6650
* Output function address as hex.Misha Brukman2003-06-061-3/+2
| | | | llvm-svn: 6649
* Removed debug print statement.Misha Brukman2003-06-061-1/+0
| | | | llvm-svn: 6641
* * Institute a hack for the Sparc call to mmap() to get our generated code to beMisha Brukman2003-06-041-10/+16
| | | | | | | | | | | laid out closer to the VM so that calls to library functions (e.g. puts()) and callback (e.g. JITResolver::CompilationCallback) fit into 30 bits of the call instruction. * Abort if architecture is not yet supported (not X86 or Sparc) because it likely requires a different set of parameters to mmap() . * Stop using hard-coded values for page size; use sysconf(_SC_PAGESIZE) instead. llvm-svn: 6610
OpenPOWER on IntegriCloud