Commit Graph

5052 Commits

Author SHA1 Message Date
Chris Lattner 2c2f6aebf9 New testcase
llvm-svn: 5263
2003-01-13 20:02:16 +00:00
Chris Lattner cab0b442f2 New files
llvm-svn: 5262
2003-01-13 20:01:16 +00:00
Chris Lattner 4bf24964d2 New testcases
llvm-svn: 5261
2003-01-13 01:03:16 +00:00
Chris Lattner cf53bcf8e4 New files
llvm-svn: 5260
2003-01-13 01:01:59 +00:00
Chris Lattner 7b55045858 Add new files
llvm-svn: 5259
2003-01-13 01:01:31 +00:00
Chris Lattner 4bc4b67eed Add support for named functions
llvm-svn: 5258
2003-01-13 01:00:48 +00:00
Chris Lattner 2e8815833a Dead file
llvm-svn: 5257
2003-01-13 01:00:28 +00:00
Chris Lattner 4ba3bbb8d4 Add support for new types of values
llvm-svn: 5256
2003-01-13 01:00:12 +00:00
Chris Lattner 5bebd807a3 Bad segvs actually cause a segv now
llvm-svn: 5255
2003-01-13 01:00:02 +00:00
Chris Lattner d49518c534 * Wrap at 80 columns
* Fix a ton of warnings
* Implement puts

llvm-svn: 5254
2003-01-13 00:59:47 +00:00
Chris Lattner 4e7aa44644 Handle value promotion properly to work with tracing better
llvm-svn: 5253
2003-01-13 00:58:52 +00:00
Chris Lattner 93fbc67720 No longer need scalaropts lib
llvm-svn: 5252
2003-01-13 00:58:18 +00:00
Chris Lattner 510e8ba6f3 Add fixme
llvm-svn: 5251
2003-01-13 00:58:06 +00:00
Chris Lattner 13bf32bf7d test the shift cases for long that are implemented
llvm-svn: 5250
2003-01-13 00:57:49 +00:00
Chris Lattner f4d5968be2 test longs
llvm-svn: 5249
2003-01-13 00:57:37 +00:00
Chris Lattner 425bb06fb1 Test longs and fp
llvm-svn: 5248
2003-01-13 00:57:19 +00:00
Chris Lattner 14bedef4b0 TEst longs
llvm-svn: 5247
2003-01-13 00:57:11 +00:00
Chris Lattner 34e598cf2e Add test for longs
llvm-svn: 5246
2003-01-13 00:57:04 +00:00
Chris Lattner 9a9444d86f add div test as well
llvm-svn: 5245
2003-01-13 00:56:54 +00:00
Chris Lattner 35b32194b2 test a bunch of stuff
llvm-svn: 5244
2003-01-13 00:56:37 +00:00
Chris Lattner e2c485ea83 Test long support
llvm-svn: 5243
2003-01-13 00:56:27 +00:00
Chris Lattner 2d2928a891 Fix static initializer ordering dependency
llvm-svn: 5236
2003-01-13 00:52:43 +00:00
Chris Lattner 803c66bc64 Add debugging helper
llvm-svn: 5235
2003-01-13 00:52:25 +00:00
Chris Lattner b9636a70e5 Make sure to handle %'s in strings correctly so that the names of BB's and functions are actually printed!
llvm-svn: 5234
2003-01-13 00:52:14 +00:00
Chris Lattner 962d5befb3 * No longer need lowerallocation pass
* Add X86 Stackifier pass
* Add peephole optimizer pass

llvm-svn: 5233
2003-01-13 00:51:23 +00:00
Chris Lattner c39dc9e648 rename FP -> fp*
llvm-svn: 5232
2003-01-13 00:50:46 +00:00
Chris Lattner 06e07162fc * Move frame and constant pool indexes to first argument of memory reference
so we can put an offset in there as well...
* Fix long/ulong stuff

llvm-svn: 5231
2003-01-13 00:50:33 +00:00
Chris Lattner 9fe3518dc0 * Some instructions take 64 bit integers, add an Arg type for it
* Add flags for different types of FP pseudo instrs

llvm-svn: 5230
2003-01-13 00:49:24 +00:00
Chris Lattner 5cc425a8e1 * Function calls clobber fp registers
* Use new M_TERMINATOR_FLAG flag
* Add ::Void flag on several instructions so def-use info is correct!
* Implement MANY FP instructions
* Finalize pseudo FP instructions
* Add set of Pseudo FP instruction description flags
* Add support for MOVim instrs
* Add support for 64 bit support instrs, like adc sbb, etc
* Add conditional move

llvm-svn: 5229
2003-01-13 00:48:46 +00:00
Chris Lattner 7878563ff9 Add support for frame and constant pool references
llvm-svn: 5228
2003-01-13 00:45:53 +00:00
Chris Lattner 61e1195e89 Move passes out to Passes.h
llvm-svn: 5227
2003-01-13 00:45:29 +00:00
Chris Lattner 888a8084b6 Add speculation
llvm-svn: 5226
2003-01-13 00:35:08 +00:00
Chris Lattner 956e8379f9 * Implement rudimentary output of the constant pool
* Implement support for MRMS?m instructions
* Add Arg64 support
* Add support for frame indexes and constant pool indexes
*

llvm-svn: 5225
2003-01-13 00:35:03 +00:00
Chris Lattner d4ba62218e * Add support for FP registers ST*
* Add support for the constant pool & constant pool indices
* Add support for MRMS?m instructions
* Fix FP Prefix emission
* Add support for global addresses and external symbols

llvm-svn: 5224
2003-01-13 00:33:59 +00:00
Chris Lattner 6c0daf795a * Adjust to use new interfaces, eliminating CurReg stuff
* Support arbitrary FP constants
* Fix bugs in frame layout for function calls and incoming arguments
* Insert copies for constant arguments to PHI nodes into the BOTTOM of
  predecessor blocks, not the top.
* Implement _floating point_ support: setcc, return, load, store, cast
* Fix several bugs in the cast instruction
* Abstract out call emission and load/store for FP
* Implement malloc/free without previous lowering pass.
* Make use of new forms of MachineOperand
* Implement _long_ support!
* Fix many bugs in FP support
* Change branch from je/jne to je/jmp
* Simplify code generated for GEP instructions

llvm-svn: 5223
2003-01-13 00:32:26 +00:00
Chris Lattner 661841c49b Fix references to functions
llvm-svn: 5222
2003-01-13 00:27:23 +00:00
Chris Lattner 0d5644bb6d Start renaming MachineInstrInfo -> TargetInstrInfo
llvm-svn: 5221
2003-01-13 00:26:36 +00:00
Chris Lattner cbedb8b400 * Use the PHI Elimination pass
llvm-svn: 5220
2003-01-13 00:26:08 +00:00
Chris Lattner bfa5319eb2 * Convert to use LiveVariable analysis
* Convert to use PHIElimination pass
* Don't spill values which have just been reloaded (big win reducing spills)
* Add experimental support for eliminating spills before TwoAddress
  instructions.  It currently is broken so it is #ifdef'd out.
* Use new "is terminator" flag on instructions instead of looking for
  branches and returns explicitly.

llvm-svn: 5219
2003-01-13 00:25:40 +00:00
Chris Lattner 8d2a07ab2f Convert to MachineFunctionPass
llvm-svn: 5218
2003-01-13 00:23:41 +00:00
Chris Lattner a2ad874c95 Add support for 3 new forms of MachineOperand
llvm-svn: 5217
2003-01-13 00:23:24 +00:00
Chris Lattner c6807e8f5d Add support for constant pool
Add helper methods for MachineFrameInfo

llvm-svn: 5216
2003-01-13 00:23:03 +00:00
Chris Lattner 6178ee9b36 Add support for global address by string and constant pool values
llvm-svn: 5215
2003-01-13 00:22:37 +00:00
Chris Lattner b63ba57411 Rename MachineInstrInfo -> TargetInstrInfo
llvm-svn: 5214
2003-01-13 00:21:32 +00:00
Chris Lattner deca2b5272 * Start renaming MachineInstrInfo -> TargetInstrInfo
* Add new M_TERMINATOR_FLAG

llvm-svn: 5213
2003-01-13 00:21:19 +00:00
Chris Lattner 936402bbb2 Add new getName method
llvm-svn: 5212
2003-01-13 00:19:44 +00:00
Chris Lattner 5d72e6cb69 Simplify interface to creating a register
llvm-svn: 5211
2003-01-13 00:19:18 +00:00
Chris Lattner 6cd144e676 * Add support for new types of operands
llvm-svn: 5210
2003-01-13 00:18:44 +00:00
Chris Lattner c32a3ba53d * Add 3 new types of MachineOperand: ConstantPoolIndex ExternalSymbol and GlobalAddress's
* Add new isPCRelative modifier flag which should be used in place of MO_PCRelativeDisp type.
* Fix a bug in isPhysicalRegister
* Add new setOpcode and RemoveOperand methods

llvm-svn: 5209
2003-01-13 00:18:17 +00:00
Chris Lattner ea1f103e5c * Add a constant pool to hold per-function constants which must be spilled to memory
llvm-svn: 5208
2003-01-13 00:16:10 +00:00