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
Chris Lattner
55f00fa00f
* Add utility methods which make common cases easier
...
llvm-svn: 5207
2003-01-13 00:15:24 +00:00
Chris Lattner
5d4b55f69f
* Add support for values in the constant pool
...
* Add support for functions referenced by name
llvm-svn: 5206
2003-01-13 00:14:55 +00:00
Chris Lattner
78133df9ac
Add an option (which will go away in the future) signfifying that there is a JIT under Linux
...
llvm-svn: 5205
2003-01-13 00:13:19 +00:00
Chris Lattner
f9781b59ab
More renamings of Target/Machine*Info to Target/Target*Info
...
llvm-svn: 5204
2002-12-29 03:13:05 +00:00