abb027cf41
Allow for specification of which JIT to run on the commandline.
...
`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...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6360 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-27 21:40:39 +00:00
6b2125c624
Fix typeos
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6204 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 17:53:49 +00:00
9a23122b6a
Add support for more constant expressions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6203 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 17:51:49 +00:00
44edb6bdd2
Add support for atexit function, remove support for __main function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6194 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 14:21:30 +00:00
22080f9f16
Add support for atexit handlers to the JIT, fixing 2003-05-14-AtExit.c
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6193 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 13:53:40 +00:00
1b72216a71
Fix compilation problems with previous checking *blush*
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6191 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 13:27:36 +00:00
6701a8603f
Add a framework for intercepting system calls
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6190 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-14 13:26:47 +00:00
7e527424fc
Clean up cast
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6174 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-13 20:29:17 +00:00
56adf152f6
Make sure that globals are emitted AFTER the passmanager is set up for the JIT,
...
because the globals may refer to functions that need to be compiled!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6105 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-12 02:14:34 +00:00
d7916e988c
switch main LLI core execution to use an InstVisitor instead of a switch statement
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6081 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-10 21:22:39 +00:00
77113b6272
Fix testcase: SingleSource/UnitTests/2003-05-02-DependantPHI.c
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6074 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-10 20:21:16 +00:00
6125fddb52
Add support for function stubs, which allow calling functions which need to
...
have an address available, but have not yet been code generated.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6059 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-09 03:30:07 +00:00
eb5a93b86b
Minor speedup by avoiding callbacks to functions already generated
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6052 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 21:44:21 +00:00
c309a7627c
Improve efficiency of JIT by having it use direct function calls instead of
...
signals to regain control from the executing code
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6051 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 21:34:11 +00:00
66a8494e98
assert early instead of late for unimplemented feature
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6050 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 21:08:43 +00:00
374344c0cc
Implement varargs support for LLI!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6043 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 16:52:43 +00:00
f88b9a6397
Add a pointersize/endianness safe load routine to match the store routine
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6042 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 16:52:16 +00:00
da82ed52ac
A large number of simple changes:
...
* s/Method/Function
* Kill some obsolete (external) functions that used to be to support tracing
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6041 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 16:18:31 +00:00
cdf5178f83
Add support for recording arguments passed through the ... of a varargs function
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6040 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-08 16:06:52 +00:00
b2abb5a586
Fix bug: Jello/2003-05-07-ArgumentTest.llx
...
Also fixes yacr2/ks benchmarks
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6017 91177308-0d34-0410-b5e6-96231b3b80d8
2003-05-07 20:31:37 +00:00
10daaa1416
Remove two fields from TargetData which are target specific.
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5963 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-26 20:11:09 +00:00
7471c486c0
Only do the %ld -> %lld promotion when running a 64 bit bytecode on a 32 bit host
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5942 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 18:28:44 +00:00
c8cff9e643
Add __strdup
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5941 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 18:23:38 +00:00
6b73fec0ce
MAke sure that LLI properly configures align_of(double)
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5938 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 06:15:05 +00:00
d5bc41a249
Fix problem where we would read 64 bits worth of pointer information, even on 32 bit targets!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5930 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-25 04:21:19 +00:00
2be50797a1
Fix bug where pointers were assumed to always be 64 bits in size!
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5890 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 20:41:01 +00:00
5f311a7bce
Add memcpy
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5887 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 20:23:16 +00:00
fd506f551d
Fix a problem with setcc instructions and pointers
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5886 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 19:55:35 +00:00
957d62aa79
Implement a bunch of new external functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5885 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 19:55:24 +00:00
669b76ae87
Implement &|^ on bool values
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5884 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 19:21:00 +00:00
f87a198dcb
Add support for _IO_getc function used on linux
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5883 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 19:20:50 +00:00
d8c03bfa0a
* Implement access to external variables in LLI
...
* Implement GetElementPtr constant expressions when initializing global variables
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5880 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 19:01:49 +00:00
cf31784c69
We now need to link libscalar to get the switch lowering pass
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5874 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-23 16:43:02 +00:00
0286835685
Kill using declarations
...
Kill code for invalid operations on pointers
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5856 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 21:22:33 +00:00
5bff50d1b0
Implement cast to bool
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5855 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 21:15:56 +00:00
b945e4ddae
Get rid of extraneous arguments to implementation functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5852 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 20:37:39 +00:00
09e9392d63
Add support to LLI for switch instruction
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5851 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-22 20:34:47 +00:00
59ee0eeffd
Make stderr, stdout, stdin work with LLI
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5832 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-21 22:44:36 +00:00
04e2ad76f8
Fix wierd idiom
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5831 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-21 22:43:32 +00:00
9dbf6dddce
fprintf CAN take exactly 2 args
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5830 91177308-0d34-0410-b5e6-96231b3b80d8
2003-04-21 22:43:20 +00:00
f9a88b684d
Implement scanf and fix sscanf to actually endian swap the results correctly
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5763 91177308-0d34-0410-b5e6-96231b3b80d8
2003-03-31 22:12:37 +00:00
006a4a5990
Fix typeo
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5624 91177308-0d34-0410-b5e6-96231b3b80d8
2003-02-25 21:14:59 +00:00
910687ec55
Fix warnings on sparc
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5427 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-29 18:02:02 +00:00
285ca5ed2f
Fix didn't fix the race condition in the makefiles
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5394 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-22 15:41:10 +00:00
c479db964f
Fix race condition in Makefile
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5380 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-21 15:20:50 +00:00
0d448c03f3
Add support for named functions
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5258 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 01:00:48 +00:00
f1dd28d89e
Dead file
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5257 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 01:00:28 +00:00
1cc08381f1
Add support for new types of values
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5256 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 01:00:12 +00:00
61253a9c93
Bad segvs actually cause a segv now
...
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5255 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 01:00:02 +00:00
b111874b38
* Wrap at 80 columns
...
* Fix a ton of warnings
* Implement puts
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5254 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:59:47 +00:00