Commit Graph

149 Commits

Author SHA1 Message Date
Chris Lattner 39c07264da Targets now configure themselves based on the source module, not on the
ad-hoc "Config" flags


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8134 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 19:50:53 +00:00
Chris Lattner 1543e40cea Add preliminary support for "any" pointersize/endianness. This will need
to change soon though.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8123 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-24 14:02:47 +00:00
John Criswell 69582b35b6 The JIT now passes the environment pointer to the main() function when it
starts a program.  This allows the GNU env program to compile and JIT under
LLVM.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@8022 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-21 21:12:30 +00:00
Misha Brukman 5560c9d49c Spell `necessary' correctly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7944 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-18 14:43:39 +00:00
Brian Gaeke fb0ef2e82c Deconstify parameter to getPointerToFunction().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7822 91177308-0d34-0410-b5e6-96231b3b80d8
2003-08-13 18:17:54 +00:00
Chris Lattner 832688a6d2 Remove redundant const qualifier
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7254 91177308-0d34-0410-b5e6-96231b3b80d8
2003-07-23 15:30:32 +00:00
John Criswell 7a73b80b90 Merged in autoconf branch. This provides configuration via the autoconf
system.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7014 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-30 21:59:07 +00:00
Brian Gaeke 703379827f Include <cmath> instead of <math.h>
Remove isnan; it's too unportable to handle cleanly at this point.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6866 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-23 19:41:55 +00:00
Brian Gaeke 1d0acacc63 Use std::isnan instead of isnan. Brought back to you from the
future, by the reconciliation of the C++ and C99 standards. Someday.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@6751 91177308-0d34-0410-b5e6-96231b3b80d8
2003-06-17 19:59:17 +00:00
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 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
Chris Lattner 93780132a7 Handle value promotion properly to work with tracing better
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5253 91177308-0d34-0410-b5e6-96231b3b80d8
2003-01-13 00:58:52 +00:00
Chris Lattner bd199fb114 Initial checkin of new LLI with JIT compiler
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5126 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-24 00:01:05 +00:00
Chris Lattner fe11a97fcd Substantial changes to refactor LLI to incorporate both the Jello JIT and
the traditional LLI interpreter


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5125 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-23 23:59:41 +00:00
Chris Lattner dbcda22bf3 Add support for isnan
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@5111 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-20 04:18:13 +00:00
Chris Lattner 138b0cd7da Namespacify more
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4956 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-08 06:01:34 +00:00
Chris Lattner bbdabce1e9 Add support to count the number of dynamic instructions executed by LLI
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4955 91177308-0d34-0410-b5e6-96231b3b80d8
2002-12-08 05:51:08 +00:00
Chris Lattner 6e6026b465 - Eliminated the deferred symbol table stuff in Module & Function, it really
wasn't an optimization and it was causing lots of bugs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4779 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-20 18:36:02 +00:00
Chris Lattner 25f6f373b8 Implement feof
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4627 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-08 19:10:26 +00:00
Chris Lattner a4479cd946 Implement freopen for burg
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4606 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-07 19:33:50 +00:00
Chris Lattner ab2dea5687 Make command line arguments setup be endian correct!!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4605 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-07 19:29:31 +00:00
Chris Lattner cf9b4f0f41 Implement fprintf
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4585 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 23:05:03 +00:00
Chris Lattner a5c0bfe09a Implement fputc and ungetc to allow burg to run in lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4584 91177308-0d34-0410-b5e6-96231b3b80d8
2002-11-06 22:59:28 +00:00
Chris Lattner 2fdaddf445 Fix two problems:
* Load Implementation can cause unaligned memory accesses, which caused
    problems for sparc.
  * cast from pointer to pointer would zero the upper 32 bits of the pointer
    which obviously causes problems on 64 bit hosts.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4454 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-30 21:47:57 +00:00
Chris Lattner 683d5da9fb Fix a major bug in lli
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4289 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-26 01:57:15 +00:00
Chris Lattner fddc755a6f - Fix LLI so that it simulates the endianness of the target machine
correctly, despite the fact that the host machine might not be the same.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4180 91177308-0d34-0410-b5e6-96231b3b80d8
2002-10-15 20:34:05 +00:00