| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 18132
|
| |
|
|
| |
llvm-svn: 18131
|
| |
|
|
| |
llvm-svn: 18129
|
| |
|
|
| |
llvm-svn: 18098
|
| |
|
|
| |
llvm-svn: 18081
|
| |
|
|
|
|
| |
most cases (e.g. direct calls) no stub is needed.
llvm-svn: 18080
|
| |
|
|
| |
llvm-svn: 18069
|
| |
|
|
|
|
| |
Add stub support for relocations to finishFunction
llvm-svn: 18035
|
| |
|
|
| |
llvm-svn: 18009
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
printed pointer value if sizeof(unsigned) != pointer size. Instead,
use uintptr_t.
llvm-svn: 17338
|
| |
|
|
| |
llvm-svn: 16318
|
| |
|
|
|
|
| |
old SystemUtils.h interface to allocate RWX blocks of memory.
llvm-svn: 16286
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 13868
|
| |
|
|
|
|
|
| |
(such as plan 9) without mmap. Of course it won't RUN... but that's another
step. :)
llvm-svn: 13839
|
| |
|
|
| |
llvm-svn: 13118
|
| |
|
|
| |
llvm-svn: 11190
|
| |
|
|
| |
llvm-svn: 10549
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 10318
|
| |
|
|
|
|
|
|
| |
constraints.
If this doesn't work Misha, feel free to revert it.
llvm-svn: 10267
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 10060
|
| |
|
|
| |
llvm-svn: 9903
|
| |
|
|
|
|
| |
Header files will be on the way.
llvm-svn: 9298
|
| |
|
|
| |
llvm-svn: 9283
|
| |
|
|
| |
llvm-svn: 9184
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 9031
|
| |
|
|
|
|
| |
Thanks to Brian for fixing this obvious oops
llvm-svn: 8899
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 8436
|
| |
|
|
|
|
| |
speeds up program execution by 15% pretty consistently for large programs
llvm-svn: 7845
|
| |
|
|
| |
llvm-svn: 7604
|
| |
|
|
| |
llvm-svn: 7491
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 7368
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
system.
llvm-svn: 7014
|
| |
|
|
| |
llvm-svn: 7012
|
| |
|
|
|
|
|
| |
(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
|
| |
|
|
| |
llvm-svn: 6670
|
| |
|
|
| |
llvm-svn: 6649
|
| |
|
|
| |
llvm-svn: 6641
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
| |
llvm-svn: 6518
|
| |
|
|
|
|
| |
class is actually target independent!
llvm-svn: 6517
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
`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
|