Commit Graph

1403 Commits

Author SHA1 Message Date
Ruchira Sasanka d499a26116 No major change
llvm-svn: 1235
2001-11-09 23:49:42 +00:00
Ruchira Sasanka d0d294afde Added code for correct reordering of call arguments
llvm-svn: 1234
2001-11-09 23:49:14 +00:00
Chris Lattner 8657606b6e Add hooks for the FindUsedTypes pass
llvm-svn: 1233
2001-11-09 05:27:34 +00:00
Chris Lattner 7082e110f7 New pass to find types in use by a program
llvm-svn: 1232
2001-11-09 05:27:21 +00:00
Chris Lattner c0239b78ec New pass to figure out what types are in use by a program
llvm-svn: 1231
2001-11-09 05:27:10 +00:00
Vikram S. Adve 21cbb36e3d Added function LL__main.
llvm-svn: 1230
2001-11-09 02:21:38 +00:00
Vikram S. Adve 1c96dfd7af Added class MachineCacheInfo.
llvm-svn: 1229
2001-11-09 02:20:18 +00:00
Vikram S. Adve 2ccb900add Add support to print constant arrays and structures.
Align data larger than an L1 cache line on L1 cache line boundary.

llvm-svn: 1228
2001-11-09 02:19:29 +00:00
Vikram S. Adve bc23cf5521 Do the same for float->int that we did for int->float earlier.
Also check IsPointerType() in addition to IsIntegral() in several places.

llvm-svn: 1227
2001-11-09 02:18:16 +00:00
Vikram S. Adve e6642f93d4 Added function UltraSparcInstrInfo::CreateCodeToCopyFloatToInt.
llvm-svn: 1226
2001-11-09 02:16:40 +00:00
Vikram S. Adve f34fa6956d Added class UltraSparcCacheInfo.
llvm-svn: 1225
2001-11-09 02:16:04 +00:00
Vikram S. Adve 367f34f7cc Bug fix: Need to include the stack offset "bias" in assembly code itself.
Added class UltraSparcCacheInfo.
Added function to convert float to int by copying via memory.

llvm-svn: 1224
2001-11-09 02:15:52 +00:00
Vikram S. Adve 313a36f2d3 Use node->getOpCode() instead of node->getMachineInstr()->getOpCode().
Much nicer.

llvm-svn: 1223
2001-11-09 02:14:20 +00:00
Vikram S. Adve e76d3bcb31 Cache parameters for target machine.
llvm-svn: 1222
2001-11-09 02:11:25 +00:00
Vikram S. Adve 7977a283e6 Added class MachineCacheInfo.
Also added function to convert float to int by copying via memory.

llvm-svn: 1221
2001-11-09 02:11:03 +00:00
Chris Lattner 0043cc1109 Remove false optimization that basically broke everything
llvm-svn: 1219
2001-11-09 01:08:10 +00:00
Chris Lattner 54e9f453c9 * Add better caching of data to avoid silly recusions
* Only check to see if uses of instructions can be converted for expressions... so we don't look at all of the uses of a constant.  This was making the code unnecessarily conservative

llvm-svn: 1218
2001-11-08 22:06:31 +00:00
Chris Lattner 2b48b9694c Add method decl
llvm-svn: 1217
2001-11-08 20:55:05 +00:00
Chris Lattner 2a4e3cfab7 Remove unneeded forward decl
llvm-svn: 1216
2001-11-08 20:54:51 +00:00
Chris Lattner 583e95e0b2 Improve raising significantly
llvm-svn: 1214
2001-11-08 20:19:56 +00:00
Chris Lattner cf66422978 Print the method that makes an instruction invalid
llvm-svn: 1213
2001-11-08 19:29:51 +00:00
Ruchira Sasanka dc709780aa corrected insertCode4Spilled ... bug.
llvm-svn: 1212
2001-11-08 19:11:30 +00:00
Vikram S. Adve b92658976a Eliminate cleaning step for individual %.bc files created by our gcc.
llvm-svn: 1211
2001-11-08 18:42:08 +00:00
Vikram S. Adve 7048762a3e Took out .clean.bc target.
llvm-svn: 1210
2001-11-08 18:25:05 +00:00
Vikram S. Adve 17bfd13a39 Run cleaning pass only when linking multiple files.
llvm-svn: 1209
2001-11-08 18:14:20 +00:00
Vikram S. Adve 04a251d785 Add cleaning pass after linking.
llvm-svn: 1208
2001-11-08 18:13:17 +00:00
Ruchira Sasanka 19a5165c29 Uncommented LR spill code insertion
llvm-svn: 1207
2001-11-08 16:43:25 +00:00
Vikram S. Adve 7543782956 Keep *.s files while we're debugging the native code.
Also, fix rule for $(LLCLIBS).

llvm-svn: 1206
2001-11-08 14:31:05 +00:00
Vikram S. Adve 56e61ec517 Bug fix: need to use .reserve for uninitialized data.
llvm-svn: 1205
2001-11-08 14:29:57 +00:00
Vikram S. Adve 7a3c4070d6 Add rule for %.clean.bc.
llvm-svn: 1204
2001-11-08 05:28:08 +00:00
Vikram S. Adve 3b193679f0 Bug fix: cannot modify Phi operands while iterating over them!
llvm-svn: 1203
2001-11-08 05:25:33 +00:00
Vikram S. Adve e4e91e3835 Add handle to object MachineFrameInfo.
llvm-svn: 1202
2001-11-08 05:23:45 +00:00
Vikram S. Adve e6ecf513a1 Include handle to TargetMachine in each Machine...Info class.
llvm-svn: 1201
2001-11-08 05:22:43 +00:00
Vikram S. Adve 06d8c600ea Add method CreateCodeToCopyIntToFloat.
Include handle to TargetMachine in each Machine...Info object.

llvm-svn: 1200
2001-11-08 05:22:15 +00:00
Vikram S. Adve 621b90440b Major change to how defs are found when adding dependences (they
are now found as part of the initial walk of the machine code).
Also memory load/store instructions can be generated for non-memory
LLVM instructions, which wasn't handled before.  It is now.

llvm-svn: 1199
2001-11-08 05:20:23 +00:00
Vikram S. Adve 80310bba37 MachineCodeForMethod is now an annotation on class Method.
llvm-svn: 1198
2001-11-08 05:18:18 +00:00
Vikram S. Adve c2f8911114 Add handle to TargetMachine object in all Machine...Info classes.
llvm-svn: 1197
2001-11-08 05:15:08 +00:00
Vikram S. Adve 81908213ae Added support for bitwise logical operators. Use different labels for
for these than for boolean logicals to avoid making Burg diverge.
See Burg manual for more information.

llvm-svn: 1196
2001-11-08 05:14:02 +00:00
Vikram S. Adve 03f12f521f Fixed function getEscapedString to follow the Sparc assembly rules
for symbol names!  (And renamed it to getValidSymbolName).
Fixed format for float and other constants.

llvm-svn: 1195
2001-11-08 05:12:37 +00:00
Vikram S. Adve f889a11590 Fix bugs in FITOS/D instruction generation.
The space for optional args in the stack frame is now being computed,
so finish the code generation for the variable `alloca'.
Finally, made a major overhaul of how stack frame is managed.

llvm-svn: 1194
2001-11-08 05:04:09 +00:00
Vikram S. Adve 503d3098fa Added new function UltraSparcInstrInfo::CreateCodeToCopyIntToFloat.
Also major overhaul of how stack frame is managed.

llvm-svn: 1193
2001-11-08 04:57:53 +00:00
Vikram S. Adve 7a1524f971 Removed class RegStackOffsets and used class MachineCodeForMethod
directly to manage stack frame.

llvm-svn: 1192
2001-11-08 04:56:41 +00:00
Vikram S. Adve 6fcb28924b Use MachineFrameInfo as base class of UltraSparcFrameInfo, and made
a major overhaul of this class and how stack frames are managed.

llvm-svn: 1191
2001-11-08 04:55:13 +00:00
Vikram S. Adve 1ef453c2ff Machine-independent interface to target's stack frame layout parameters.
llvm-svn: 1190
2001-11-08 04:52:27 +00:00
Vikram S. Adve e316915197 Use different op labels for bitwise logical operations and boolean logical
operations in BURG input trees.

llvm-svn: 1189
2001-11-08 04:51:39 +00:00
Vikram S. Adve 70dd1d4ee4 Added a second constructor for and improved class TmpInstruction.
llvm-svn: 1188
2001-11-08 04:50:33 +00:00
Vikram S. Adve bdbb802c2f Added two minor methods.
llvm-svn: 1187
2001-11-08 04:49:52 +00:00
Vikram S. Adve d9f8598104 Removed class RegStackOffsets and used class MachineCodeForMethod
directly to manage stack frame.

llvm-svn: 1186
2001-11-08 04:48:50 +00:00
Vikram S. Adve c53037205b Major overhaul of stack frame management.
llvm-svn: 1185
2001-11-08 04:47:06 +00:00
Vikram S. Adve 07900bde2d Old file which was moved to include/llvm/Target some time back.
llvm-svn: 1184
2001-11-08 04:46:08 +00:00