Commit Graph

1403 Commits

Author SHA1 Message Date
Chris Lattner 0cd962fa61 * Change ExpressionConvertableToType to more closely match map behavior of
ConvertExpressionToType
* Make ValueHandle's remove instruction from maps when they are deleted so that
  no false map hits occur if a subsequent instruction is allocated to the same
  space in memory.  This was a VERY VERY VERY EVIL NASTY BUG to track down. :-P

llvm-svn: 1288
2001-11-13 05:01:36 +00:00
Chris Lattner 99ed5fb28d Minor style cleanups
llvm-svn: 1287
2001-11-13 04:59:58 +00:00
Chris Lattner 4f8e9468cb Avoid assertion failure when taking size of unsized array. Todo item herE
llvm-svn: 1286
2001-11-13 04:59:41 +00:00
Vikram S. Adve dafc8b909e Do the same for allocating spills to get their alignment right too.
llvm-svn: 1285
2001-11-12 23:40:22 +00:00
Vikram S. Adve 6e9422e14c When allocating space on stack for writing a register,
use the size of the register, not the size of the Value type,
to get the right alignment.

llvm-svn: 1284
2001-11-12 23:26:35 +00:00
Vikram S. Adve 4b9c46da24 Bug fix in offset alignment computations: don't subtract the padding
value from size *before* subtracting size from offset!

llvm-svn: 1283
2001-11-12 23:26:23 +00:00
Vikram S. Adve 097b7cb52a Distinguish LOCAL_LDFLAGS and LOCAL_LCFLAGS from LOCAL_CFLAGS.
In particular, never put -lm in LOCAL_[L]CFLAGS because it
disables an implicit rule that has LOCAL_CFLAGS as a prerequisite.

llvm-svn: 1281
2001-11-12 23:10:29 +00:00
Chris Lattner 7e42584354 Remove debug info :(
llvm-svn: 1280
2001-11-12 21:52:57 +00:00
Chris Lattner 7c627e7632 Fix bug in new assertion
llvm-svn: 1279
2001-11-12 21:48:38 +00:00
Ruchira Sasanka 20e105f4b1 Fixed a bug with pervious ColorCallArg
llvm-svn: 1278
2001-11-12 20:54:19 +00:00
Ruchira Sasanka 24e29431bc Canged ColorCallArg so that when a call arg is directly pushed on to stack
for argument passing, that instruction is directly added to the InstructionsBefore
set of the called machine instruction - i.e., it is not reordered.

llvm-svn: 1277
2001-11-12 20:31:47 +00:00
Chris Lattner f0cd13bc28 Add an assertion check
llvm-svn: 1276
2001-11-12 20:30:32 +00:00
Chris Lattner 4a797f461f I don't know what I was thinking
llvm-svn: 1275
2001-11-12 20:30:12 +00:00
Chris Lattner 747f016184 Print percentages for profiling info better
llvm-svn: 1274
2001-11-12 20:13:14 +00:00
Chris Lattner 1643e8ec7b Fix minor bug
llvm-svn: 1273
2001-11-12 20:13:04 +00:00
Ruchira Sasanka c189997516 For phi elimination, now we are generating only one instruction
using cpValue2Value instead of
passing vector to createCopyInstructionByType.

llvm-svn: 1272
2001-11-12 19:42:27 +00:00
Ruchira Sasanka cc3da8c107 Changed insert instructions only for CONSTANTS - back to original
llvm-svn: 1271
2001-11-12 19:32:04 +00:00
Vikram S. Adve 01daa32a92 Disable use of the Phi machine instruction which is no longer needed
for register allocation.

llvm-svn: 1270
2001-11-12 18:54:11 +00:00
Vikram S. Adve 03fae5e5db Eliminate most uses of the machine instruction vector for each LLVM instr,
since some m. instr. may be generated by LLVM instrs. in other blocks.
Handle non-SSA (anti and output) edges and true edges uniformly by
working with machine instructions alone.

llvm-svn: 1269
2001-11-12 18:53:43 +00:00
Chris Lattner a7482e05d0 Print profile info if exit() is called
llvm-svn: 1268
2001-11-12 16:28:48 +00:00
Chris Lattner e32deb455b Hack a structure profiling option together
llvm-svn: 1267
2001-11-12 16:19:45 +00:00
Ruchira Sasanka eb98368c29 Changed for adding Phi Elimination code
llvm-svn: 1266
2001-11-12 14:46:00 +00:00
Ruchira Sasanka fcdc2ff6e0 Added phi elimination code
llvm-svn: 1265
2001-11-12 14:45:33 +00:00
Ruchira Sasanka 9f246e65d3 Added phi elimination code - not final
llvm-svn: 1264
2001-11-12 14:44:50 +00:00
Vikram S. Adve 6e004c0818 Improved printing routines.
llvm-svn: 1263
2001-11-12 14:19:47 +00:00
Vikram S. Adve dff0a891c1 Major improvement to how nodes are built for a BB.
LLVM instruction is no longer recorded in each node, but BB is.

llvm-svn: 1262
2001-11-12 14:18:01 +00:00
Vikram S. Adve 3b02a35a80 Adjust all stack variable offsets to be aligned by size.
llvm-svn: 1261
2001-11-12 05:17:23 +00:00
Vikram S. Adve e7dc82ec0d Fix dumb bug in alignment adjustment code!
llvm-svn: 1260
2001-11-12 05:16:39 +00:00
Vikram S. Adve 68d00415b4 Fix bogus code that was eliminating needed args.
llvm-svn: 1259
2001-11-11 23:11:36 +00:00
Ruchira Sasanka 80fc434970 Fixed FP and SP usage. SP for outgoing args - for everything else FP
llvm-svn: 1258
2001-11-11 22:37:51 +00:00
Ruchira Sasanka 2d5c48fcc9 cahnged StackPointer accesses to FramePointer
llvm-svn: 1257
2001-11-11 21:49:37 +00:00
Vikram S. Adve 1d5c6e0939 Fix errors in computing downgrowing offsets, and in
computing size of extra outgoing args.

llvm-svn: 1256
2001-11-11 21:23:33 +00:00
Vikram S. Adve b3b55ae4b1 Down-growing offsets from FP should start at 0, not -1.
llvm-svn: 1255
2001-11-11 21:22:11 +00:00
Vikram S. Adve 6cd83556e6 Only add true dep. edges from an earlier to a later instruction.
This wasn't a problem until we started putting copies for Phi values
that produced cycles in the SchedGraph!

llvm-svn: 1254
2001-11-11 01:23:27 +00:00
Ruchira Sasanka d1d5e97431 Changed code to ignore Phi Nodes in PhyRegAlloc
llvm-svn: 1253
2001-11-10 21:21:36 +00:00
Ruchira Sasanka 0c0859846a Corrected reodering code for instructions inserted before calls
llvm-svn: 1252
2001-11-10 21:20:43 +00:00
Ruchira Sasanka bbbc6a3b17 Made isPhi const
llvm-svn: 1251
2001-11-10 20:58:58 +00:00
Vikram S. Adve b4489fb853 Use cc instead of gcc to compile *.native
llvm-svn: 1250
2001-11-10 14:23:54 +00:00
Chris Lattner 49ec72411e Initail checking of structure swapper
llvm-svn: 1248
2001-11-10 07:28:25 +00:00
Chris Lattner b98ec7f369 Testcase for structure field reordering
llvm-svn: 1247
2001-11-10 07:26:59 +00:00
Chris Lattner 5dada09565 Initial checkin of structure mutator
llvm-svn: 1246
2001-11-10 07:26:31 +00:00
Chris Lattner b0de5f1cf2 Initial checkin of Structure mutator
llvm-svn: 1245
2001-11-10 07:26:22 +00:00
Chris Lattner fc92c5fa1a Add hooks to call the new swap structcontents pass
llvm-svn: 1243
2001-11-10 07:16:10 +00:00
Chris Lattner dcad3cc848 add Yet Another Instance of a Static Library
llvm-svn: 1242
2001-11-10 07:15:53 +00:00
Chris Lattner 636539d48e Provide const version of function with the name the other will be eventually renamed to
llvm-svn: 1241
2001-11-10 06:48:14 +00:00
Chris Lattner 9b474fdf2b Refactor some functionality to expose more useful stuff
llvm-svn: 1240
2001-11-10 06:47:45 +00:00
Vikram S. Adve 295600c417 Several bug fixes in printing constants, particularly with unsized
arrays and multi-dimensional arrays.

llvm-svn: 1239
2001-11-10 02:03:06 +00:00
Vikram S. Adve 209d8e1c3b Must generate an instruction for GetElementPtr if single user is not
a memory instruction!

llvm-svn: 1238
2001-11-10 01:05:26 +00:00
Ruchira Sasanka 1812fc499d Disabled some debuggin messages
llvm-svn: 1237
2001-11-10 00:26:55 +00:00
Ruchira Sasanka 31305c0d57 Coalesing bug fix - now checks for the same regType instead of the same
regClass since FP class has two reg Types.

llvm-svn: 1236
2001-11-10 00:20:24 +00:00