Chris Lattner
4fecd98cb0
Sparc is not little endian
...
llvm-svn: 5129
2002-12-24 00:02:38 +00:00
Chris Lattner
bc5e71ef2f
Allow the target machines to specify endianness and pointer size
...
llvm-svn: 5128
2002-12-24 00:02:17 +00:00
Chris Lattner
f67bcaf831
Initial checkin
...
llvm-svn: 5127
2002-12-24 00:01:22 +00:00
Chris Lattner
5fe4097f52
Initial checkin of new LLI with JIT compiler
...
llvm-svn: 5126
2002-12-24 00:01:05 +00:00
Chris Lattner
42057e4d2a
Substantial changes to refactor LLI to incorporate both the Jello JIT and
...
the traditional LLI interpreter
llvm-svn: 5125
2002-12-23 23:59:41 +00:00
Chris Lattner
1bb5148632
X86 target machine is now parameterizable
...
llvm-svn: 5124
2002-12-23 23:55:01 +00:00
Chris Lattner
ec08d0bf6b
Testcases for bugfixes
...
llvm-svn: 5123
2002-12-23 23:51:30 +00:00
Chris Lattner
912f11f35d
Jello is now part of LLI
...
llvm-svn: 5122
2002-12-23 23:51:19 +00:00
Chris Lattner
6e80973050
New testcase
...
llvm-svn: 5121
2002-12-23 23:50:35 +00:00
Chris Lattner
2af84f79e3
New files for miscompilation detection
...
llvm-svn: 5120
2002-12-23 23:50:16 +00:00
Chris Lattner
6788e95757
Implement the start of the miscompilation detection stuff
...
llvm-svn: 5119
2002-12-23 23:49:59 +00:00
Chris Lattner
b9909bdefd
Remove temp files
...
llvm-svn: 5118
2002-12-23 23:47:39 +00:00
Chris Lattner
acd2890ec1
Jello is going away
...
llvm-svn: 5117
2002-12-23 23:47:20 +00:00
Chris Lattner
8e628685d9
Fix compilation on gcc 2.96
...
llvm-svn: 5116
2002-12-23 23:46:55 +00:00
Chris Lattner
285f1458f0
Add definition for the bswap instruction
...
*** FIX: the encoding of the SUB instruction
llvm-svn: 5115
2002-12-23 23:46:31 +00:00
Chris Lattner
9e13907a4f
Add support for the bswap instruction
...
llvm-svn: 5114
2002-12-23 23:46:00 +00:00
Chris Lattner
7abe5199b3
Fix compilation on GCC 2.96
...
llvm-svn: 5113
2002-12-23 23:44:04 +00:00
Brian Gaeke
8f7c7a40c5
brg
...
Add statistic for number of bytes of data area initialized.
We used this statistic in collecting data for the paper, but I forgot
to commit it.
llvm-svn: 5112
2002-12-22 18:53:23 +00:00
Chris Lattner
6b8e873886
Add support for isnan
...
llvm-svn: 5111
2002-12-20 04:18:13 +00:00
Chris Lattner
3b100b8767
Add stats output
...
llvm-svn: 5110
2002-12-20 04:14:19 +00:00
Chris Lattner
2dc1b58c11
Fix warning
...
llvm-svn: 5109
2002-12-20 04:13:28 +00:00
Chris Lattner
f8876bb77d
CBW doesn't modify AL
...
llvm-svn: 5108
2002-12-20 04:13:11 +00:00
Chris Lattner
d838414ec1
fix warning
...
llvm-svn: 5107
2002-12-20 04:12:48 +00:00
Chris Lattner
5ddc4b5f94
* Fix several register aliasing bugs
...
* Add a new option to eliminate spilling of registers that are only used
within a basic block.
llvm-svn: 5106
2002-12-18 08:14:26 +00:00
Chris Lattner
8557cb2489
Print argc as well as argv
...
llvm-svn: 5105
2002-12-18 02:07:21 +00:00
Chris Lattner
c21fd773b8
Don't force setCC instructions into AL
...
llvm-svn: 5104
2002-12-18 01:44:31 +00:00
Chris Lattner
bb2e7ec2b1
Implicit defs/uses list may be empty.
...
llvm-svn: 5103
2002-12-18 01:11:14 +00:00
Chris Lattner
b1c74bb421
Add comments, switch uses/defs to match InstrInfo.def file
...
llvm-svn: 5102
2002-12-18 01:05:54 +00:00
Chris Lattner
0607e84008
Add reg clobber list for direct calls
...
Represent empty use/def list as a null pointer
llvm-svn: 5101
2002-12-18 01:05:31 +00:00
Chris Lattner
079d149fbd
Simplify interface to remove virtual function references
...
llvm-svn: 5100
2002-12-17 04:20:39 +00:00
Chris Lattner
c6ac5c70c6
Use new reginfo interface
...
llvm-svn: 5099
2002-12-17 04:19:40 +00:00
Chris Lattner
0b617b0e1d
Update to use new interface for register info
...
llvm-svn: 5098
2002-12-17 04:19:17 +00:00
Chris Lattner
cbc794db30
New file
...
llvm-svn: 5097
2002-12-17 04:03:08 +00:00
Chris Lattner
e66a7e80c3
Add prolog/epilog spills/reloads to counters
...
Move X86 specific alignment gunk to X86 files
llvm-svn: 5096
2002-12-17 03:16:10 +00:00
Chris Lattner
dbca3de031
Round number of bytes allocated on the stack up to a multiple of 4 so that the
...
stack remains aligned
llvm-svn: 5095
2002-12-17 03:15:26 +00:00
Chris Lattner
305d72e965
Local register allocator is now stable enough for use, it passes all tests
...
llvm-svn: 5094
2002-12-17 02:51:15 +00:00
Chris Lattner
8dd15fd26c
Fix many bugs, regallocator now saves callee-save registers instead of target
...
llvm-svn: 5093
2002-12-17 02:50:10 +00:00
Chris Lattner
4a60d804c2
Register allocator is responsible for spilling callee saved regs
...
llvm-svn: 5092
2002-12-17 02:48:57 +00:00
Chris Lattner
dcb3cfb698
Make testcase return 0 on success
...
llvm-svn: 5091
2002-12-17 02:02:01 +00:00
Chris Lattner
c7e6dd2341
Build add instructions of the correct form!
...
llvm-svn: 5090
2002-12-16 23:36:57 +00:00
Chris Lattner
7418dc3975
Add dummy implementation of __main
...
llvm-svn: 5089
2002-12-16 23:31:48 +00:00
Chris Lattner
f5da16f2f6
Two fixes:
...
* Only load incoming arguments into virtual registers once at the
beginning of the function
* Assign different virtual registers to each reference to constants/globals
llvm-svn: 5088
2002-12-16 22:54:46 +00:00
Chris Lattner
9d64c1e53a
Fix prolog/epilog in the presence of alloca
...
llvm-svn: 5087
2002-12-16 22:29:30 +00:00
Chris Lattner
2e17697e81
Make sure stack manipulation refers to ESP the right number of times
...
llvm-svn: 5086
2002-12-16 22:29:06 +00:00
Chris Lattner
dfcaf6aa62
New testcase for printing out arguments
...
llvm-svn: 5085
2002-12-16 20:09:54 +00:00
Chris Lattner
de4d89ef9f
Add some special cases to make common getelementptr cases easier to read/faster
...
llvm-svn: 5084
2002-12-16 19:32:50 +00:00
Chris Lattner
4576429b7c
Finish implementation of alias list impl
...
llvm-svn: 5083
2002-12-16 19:31:48 +00:00
Chris Lattner
cdcde16ad0
* Fix a gross X86 hack that was intended to avoid allocating SP and BP
...
* Implement register alias set support
llvm-svn: 5082
2002-12-16 17:44:42 +00:00
Chris Lattner
0ede83ee56
Keep the stack frame aligned.
...
llvm-svn: 5081
2002-12-16 17:42:40 +00:00
Chris Lattner
3b7f709ebd
Add support for register alias set description
...
llvm-svn: 5080
2002-12-16 16:39:14 +00:00