summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/JIT/Emitter.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Rename Emitter.cpp -> JITEmitter.cppChris Lattner2004-11-221-425/+0
| | | | llvm-svn: 18132
* Fix the FIXME, nuke the JIT specific forceCompilationOf method.Chris Lattner2004-11-221-11/+0
| | | | llvm-svn: 18131
* These methods are obsoleteChris Lattner2004-11-221-21/+1
| | | | llvm-svn: 18129
* Support targets that require stubs for external functions betterChris Lattner2004-11-221-2/+18
| | | | llvm-svn: 18098
* Clean up DEBUG outputChris Lattner2004-11-211-5/+5
| | | | llvm-svn: 18081
* Allow targets to avoid emitting a stub for EVERY lazily resolved call. InChris Lattner2004-11-211-9/+30
| | | | | | most cases (e.g. direct calls) no stub is needed. llvm-svn: 18080
* Implement relocation support by adding a target independent resolver interface.Chris Lattner2004-11-201-12/+133
| | | | llvm-svn: 18069
* Add getCurrentPCOffset() and addRelocation() methods.Chris Lattner2004-11-201-6/+40
| | | | | | Add stub support for relocations to finishFunction llvm-svn: 18035
* Match change in MachineCodeEmitter prototype.Chris Lattner2004-11-191-2/+2
| | | | llvm-svn: 18009
* Now that we have ghost linkage, we can force resolution of external symbolsChris Lattner2004-11-151-3/+8
| | | | | | | | | | | | | | | | | | | | | immediately instead of lazily. In this program, for example: int main() { printf("hello world\n"); printf("hello world\n"); printf("hello world\n"); printf("hello world\n"); } We used to have to go through compilation callback 4 times (once for each call to printf), now we don't go to it at all. Thanks to Misha for noticing this, and for adding the initial ghost linkage patches. llvm-svn: 17864
* When emitting debug msgs for function stubs, don't truncate theBrian Gaeke2004-10-291-1/+1
| | | | | | | printed pointer value if sizeof(unsigned) != pointer size. Instead, use uintptr_t. llvm-svn: 17338
* Simplify the sys::Memory interface per Chris' request.Reid Spencer2004-09-131-2/+2
| | | | llvm-svn: 16318
* Convert the Emitter to use the lib/System "Memory" interface instead of theReid Spencer2004-09-111-2/+5
| | | | | | old SystemUtils.h interface to allocate RWX blocks of memory. llvm-svn: 16286
* 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
* Use the SystemUtils.h file to do our dirty work.Chris Lattner2004-05-281-52/+2
| | | | llvm-svn: 13868
* This code is a real mess, but at least get the JIT *building* on platformsChris Lattner2004-05-271-0/+8
| | | | | | | (such as plan 9) without mmap. Of course it won't RUN... but that's another step. :) llvm-svn: 13839
* Implement emitWordAt() for the JIT emitter.Brian Gaeke2004-04-231-0/+5
| | | | llvm-svn: 13118
* There is no reason to #define fdChris Lattner2004-02-081-3/+2
| | | | llvm-svn: 11190
* Implement PR135, lazy emission of global variablesChris Lattner2003-12-201-1/+5
| | | | llvm-svn: 10549
* Cleanup the JIT as per PR176. This renames the VM class to JIT, and merges theChris Lattner2003-12-201-16/+16
| | | | | | | 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
* Finegrainify namespacificationChris Lattner2003-12-081-4/+1
| | | | llvm-svn: 10318
* Emit constants to one contiguous block, but this time, respect alignment ↵Chris Lattner2003-11-301-5/+27
| | | | | | | | constraints. If this doesn't work Misha, feel free to revert it. llvm-svn: 10267
* Go back to allocating memory for each constant separately. Since SPARCs do notMisha Brukman2003-11-301-20/+5
| | | | | | | | allow unaligned loads, that is probably the problem I've been seeing in numerous SPARC test cases failing. X86, on the other hand, just slows down unaligned accesses, since it must make 2 aligned accesses for each unaligned one. llvm-svn: 10266
* Emit the MachineConstantPool constants in one contiguous memory `pool'.Misha Brukman2003-11-171-5/+20
| | | | llvm-svn: 10060
* Put all LLVM code into the llvm namespace, as per bug 109.Brian Gaeke2003-11-111-0/+4
| | | | llvm-svn: 9903
* 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
* Hrm, a relic from the past. How cute :)Chris Lattner2003-10-201-1/+1
| | | | llvm-svn: 9283
* Fix a typo in a comment, and zap a blank line.Brian Gaeke2003-10-161-2/+1
| | | | llvm-svn: 9184
* Make mmap's fd for anonymous memory acquisition default to -1, except onBrian Gaeke2003-10-111-2/+7
| | | | | | | Linux. This is consistent with what FreeBSD and Solaris both want. This makes the JIT work on FreeBSD 5.1-RELEASE. Whee. llvm-svn: 9045
* Don't include Config/stdio.h or <stdio.h>.Brian Gaeke2003-10-101-1/+0
| | | | llvm-svn: 9031
* Actually _PASS IN_ NO_RESERVE if we have it.Chris Lattner2003-10-061-1/+1
| | | | | | Thanks to Brian for fixing this obvious oops llvm-svn: 8899
* * Move include files from middle of file to the top where they belong, movingMisha Brukman2003-09-101-7/+5
| | | | | | | | the #define up there too * Since we're including system headers, use the ones in include/llvm/Config * While we're here, use the canonical LLVM header ordering algorithm llvm-svn: 8463
* Fix warning when _POSIX_MAPPED_FILES is already defined in unistd.hMisha Brukman2003-09-101-0/+2
| | | | llvm-svn: 8436
* 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
* 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-0/+1
| | | | 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
* Merged in autoconf branch. This provides configuration via the autoconfJohn Criswell2003-06-301-1/+2
| | | | | | system. llvm-svn: 7014
* Get rid of the duplicate '0x' in debug mode.Brian Gaeke2003-06-301-1/+1
| | | | llvm-svn: 7012
* 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
* Add #include for older GCC'sChris Lattner2003-06-081-0/+1
| | | | llvm-svn: 6670
* 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
* * Removed SparcEmitter.cpp; rolled into lib/Target/Sparc/SparcV9CodeEmitter.cppMisha Brukman2003-06-021-3/+20
| | | | | | | | | * No more createX86Emitter() vs. createSparcEmitter() -- there can be only one * As a result, the memory management semantics must be handled according to platform -- the parameters to mmap() are particularly sensitive to the host architecture. llvm-svn: 6527
* Remove obsolete codeChris Lattner2003-06-021-51/+0
| | | | llvm-svn: 6518
* Move target specific code to target files. The new MachineCodeEmitterChris Lattner2003-06-011-39/+69
| | | | | | class is actually target independent! llvm-svn: 6517
* Allow for specification of which JIT to run on the commandline.Misha Brukman2003-05-271-1/+1
| | | | | | | | | | | | | | | | `lli -march=x86' or `lli -march=sparc' will forcefully select the JIT even on a different platform. Running lli without the -march option will select the JIT for the platform that it's currently running on. Pro: can test Sparc JIT (debug printing mode) on X86 -- faster to compile/link LLVM source base to test changes. Con: Linking lli on x86 now pulls in all the Sparc libs -> longer link time (but X86 can bear it, right?) In the future, perhaps this should be a ./configure option to enable/disable target JITting... llvm-svn: 6360
OpenPOWER on IntegriCloud