Commit Graph

5180 Commits

Author SHA1 Message Date
Chris Lattner c94e5eeae8 Don't try to buidl jello
llvm-svn: 5135
2002-12-24 00:44:26 +00:00
Chris Lattner 5aa5663353 Fixes to compile with GCC 3.2
llvm-svn: 5134
2002-12-24 00:39:16 +00:00
Chris Lattner 544f4497d1 Jello is now part of LLI
llvm-svn: 5133
2002-12-24 00:14:25 +00:00
Chris Lattner 763729c5cd Substantial fixes to live range handling, fixing several problems, getting
strtol to not miscompile, and fixing bug: 2002-12-23-LocalRAProblem.llx

llvm-svn: 5132
2002-12-24 00:04:55 +00:00
Chris Lattner a32b4055be Changes to allow for a configurable target machine that allows big endian and/or long pointer operation
llvm-svn: 5131
2002-12-24 00:04:01 +00:00
Chris Lattner cfcd0603d0 Changes to compile with GCC 2.96
Changes to support configurable pointer size and endianness

llvm-svn: 5130
2002-12-24 00:03:11 +00:00
Chris Lattner ccc2c7e8a7 Sparc is not little endian
llvm-svn: 5129
2002-12-24 00:02:38 +00:00
Chris Lattner a4d7e4f203 Allow the target machines to specify endianness and pointer size
llvm-svn: 5128
2002-12-24 00:02:17 +00:00
Chris Lattner e6761db961 Initial checkin
llvm-svn: 5127
2002-12-24 00:01:22 +00:00
Chris Lattner 996fe01028 Initial checkin of new LLI with JIT compiler
llvm-svn: 5126
2002-12-24 00:01:05 +00:00
Chris Lattner a0d7b084ef 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 5a2f7ec55f X86 target machine is now parameterizable
llvm-svn: 5124
2002-12-23 23:55:01 +00:00
Chris Lattner 3c5d763b95 Testcases for bugfixes
llvm-svn: 5123
2002-12-23 23:51:30 +00:00
Chris Lattner 691b531842 Jello is now part of LLI
llvm-svn: 5122
2002-12-23 23:51:19 +00:00
Chris Lattner 8a75652e4f New testcase
llvm-svn: 5121
2002-12-23 23:50:35 +00:00
Chris Lattner de4aa4cf8c New files for miscompilation detection
llvm-svn: 5120
2002-12-23 23:50:16 +00:00
Chris Lattner d4e0474dcf Implement the start of the miscompilation detection stuff
llvm-svn: 5119
2002-12-23 23:49:59 +00:00
Chris Lattner f3628b3d67 Remove temp files
llvm-svn: 5118
2002-12-23 23:47:39 +00:00
Chris Lattner 7f88fd11e4 Jello is going away
llvm-svn: 5117
2002-12-23 23:47:20 +00:00
Chris Lattner d8201972bf Fix compilation on gcc 2.96
llvm-svn: 5116
2002-12-23 23:46:55 +00:00
Chris Lattner 871abd8187 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 e218f7924c Add support for the bswap instruction
llvm-svn: 5114
2002-12-23 23:46:00 +00:00
Chris Lattner 095eac8109 Fix compilation on GCC 2.96
llvm-svn: 5113
2002-12-23 23:44:04 +00:00
Brian Gaeke 941945785e 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 677671d1af Add support for isnan
llvm-svn: 5111
2002-12-20 04:18:13 +00:00
Chris Lattner 84ea4c572c Add stats output
llvm-svn: 5110
2002-12-20 04:14:19 +00:00
Chris Lattner 6e7c821dc0 Fix warning
llvm-svn: 5109
2002-12-20 04:13:28 +00:00
Chris Lattner 5526b21e93 CBW doesn't modify AL
llvm-svn: 5108
2002-12-20 04:13:11 +00:00
Chris Lattner 67e555d1ec fix warning
llvm-svn: 5107
2002-12-20 04:12:48 +00:00
Chris Lattner d4627093de * 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 07b2da5d67 Print argc as well as argv
llvm-svn: 5105
2002-12-18 02:07:21 +00:00
Chris Lattner b437b7de1a Don't force setCC instructions into AL
llvm-svn: 5104
2002-12-18 01:44:31 +00:00
Chris Lattner dc451c6d27 Implicit defs/uses list may be empty.
llvm-svn: 5103
2002-12-18 01:11:14 +00:00
Chris Lattner b54343a64f Add comments, switch uses/defs to match InstrInfo.def file
llvm-svn: 5102
2002-12-18 01:05:54 +00:00
Chris Lattner fc9af85395 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 5629397d28 Simplify interface to remove virtual function references
llvm-svn: 5100
2002-12-17 04:20:39 +00:00
Chris Lattner ac5f3b3ed3 Use new reginfo interface
llvm-svn: 5099
2002-12-17 04:19:40 +00:00
Chris Lattner 4cb8af96b3 Update to use new interface for register info
llvm-svn: 5098
2002-12-17 04:19:17 +00:00
Chris Lattner 0eece84186 New file
llvm-svn: 5097
2002-12-17 04:03:08 +00:00
Chris Lattner 0ea32b8dd3 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 eaf58b03b2 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 d9c6f2a6d3 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 4664bd5798 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 5afbc4c387 Register allocator is responsible for spilling callee saved regs
llvm-svn: 5092
2002-12-17 02:48:57 +00:00
Chris Lattner 0a9aed1a1b Make testcase return 0 on success
llvm-svn: 5091
2002-12-17 02:02:01 +00:00
Chris Lattner 2e6f17f136 Build add instructions of the correct form!
llvm-svn: 5090
2002-12-16 23:36:57 +00:00
Chris Lattner 4377c67bc6 Add dummy implementation of __main
llvm-svn: 5089
2002-12-16 23:31:48 +00:00
Chris Lattner e92fb346d3 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 c87fcde854 Fix prolog/epilog in the presence of alloca
llvm-svn: 5087
2002-12-16 22:29:30 +00:00
Chris Lattner e92f1bb011 Make sure stack manipulation refers to ESP the right number of times
llvm-svn: 5086
2002-12-16 22:29:06 +00:00