534779 Commits

Author SHA1 Message Date
Chris Lattner
6c4681ca28 Fix minor bug for shifts
llvm-svn: 1160
2001-11-06 21:51:48 +00:00
Chris Lattner
2f2d947f73 Print out the abridged form of the call instruction.
llvm-svn: 1159
2001-11-06 21:28:12 +00:00
Chris Lattner
82b7872326 Build .bc from .c better.
llvm-svn: 1158
2001-11-06 20:44:15 +00:00
Chris Lattner
21af446166 Don't forget to make the clean version.
llvm-svn: 1157
2001-11-06 20:23:50 +00:00
Vikram S. Adve
096a76aa92 Really fix Makefile to compile individual tests and Olden codes.
by using a better naming scheme.

llvm-svn: 1156
2001-11-06 17:09:49 +00:00
Vikram S. Adve
2f4b825ca1 Moved *.c files into subdirectory TestSources to avoid overwriting
corresponding *.ll files.

llvm-svn: 1155
2001-11-06 17:06:06 +00:00
Ruchira Sasanka
074d52d60d Fixed bug - added code in pushUnconstrainedIGNodes() to check whether a node
is already pushed to stack by a previous call to the same method.

llvm-svn: 1154
2001-11-06 15:25:38 +00:00
Chris Lattner
0c993260fe Reorder paramters to make the command line more easily modifiable
llvm-svn: 1153
2001-11-06 08:34:56 +00:00
Chris Lattner
0136101e37 Fix bugs
llvm-svn: 1152
2001-11-06 08:34:29 +00:00
Chris Lattner
4031cdde57 Fix many bugs. Implement PHI transforms & other cycles
llvm-svn: 1151
2001-11-06 08:34:17 +00:00
Chris Lattner
9d3292d327 Give me PHI's space back
llvm-svn: 1150
2001-11-06 08:33:46 +00:00
Vikram S. Adve
928833ecea Bug fix: uninitialized variable.
llvm-svn: 1147
2001-11-06 05:11:05 +00:00
Vikram S. Adve
f5b4f47cff Bug fix: Printing AdIBef and AdIAft outside the scope where they
were declared, and in some cases when they were unintialized.

llvm-svn: 1146
2001-11-06 05:01:54 +00:00
Chris Lattner
29644b3849 Print PHI nodes with zero operands even if they are illegal
llvm-svn: 1145
2001-11-06 01:48:45 +00:00
Chris Lattner
710c3861b5 Fix bug with ADD nodes and malloc promotion
llvm-svn: 1144
2001-11-05 21:13:30 +00:00
Chris Lattner
7bb67c8ab8 Fix makefile to compile olden and main benchmarks
llvm-svn: 1142
2001-11-05 19:43:24 +00:00
Chris Lattner
7e89a616e6 Don't print spurious linking warnings about methods that are never used.
Cleanup ExprTypeConvert a bit.

llvm-svn: 1141
2001-11-05 19:43:10 +00:00
Chris Lattner
0ecba60d26 Use the expression map correctly.
llvm-svn: 1140
2001-11-05 18:30:53 +00:00
Chris Lattner
ad480c5a34 Make the olden benchmarks compile again
llvm-svn: 1139
2001-11-05 18:25:37 +00:00
Vikram S. Adve
596721384b Modified graph construction to use one pass to find all defs.
Avoids having to handle some special cases that cause complex interactions
with instr. selection.

llvm-svn: 1138
2001-11-05 04:04:23 +00:00
Vikram S. Adve
59a13288a6 Make reg. numbers signed ints.
llvm-svn: 1137
2001-11-05 03:56:02 +00:00
Vikram S. Adve
6cb546970f Put it back!
llvm-svn: 1136
2001-11-05 00:48:27 +00:00
Vikram S. Adve
daa6058a13 Removed by mistake; will add it back immediately.
llvm-svn: 1135
2001-11-05 00:48:05 +00:00
Vikram S. Adve
d3be60db35 Make gcc generate assembly files (%.ll) until Chris has a stable
version of his gccas.  Plus another dumb bug fix (the bug, not the fix).

llvm-svn: 1134
2001-11-05 00:35:56 +00:00
Vikram S. Adve
4d04e00072 Delete rule to disassemble %.bc -- need to make it effective only when
%.ll is not a pre-existing file.

llvm-svn: 1133
2001-11-05 00:23:25 +00:00
Vikram S. Adve
491d8dde35 Replaced another HERE.
llvm-svn: 1132
2001-11-05 00:22:16 +00:00
Vikram S. Adve
e943db9be9 Put common rules for compiling programs into Makefile.target.
llvm-svn: 1130
2001-11-05 00:18:30 +00:00
Chris Lattner
db750679a3 New file for expression tree conversion
llvm-svn: 1128
2001-11-04 23:24:20 +00:00
Chris Lattner
3084cb65ff Refactor code to share stuff
llvm-svn: 1127
2001-11-04 23:24:06 +00:00
Chris Lattner
cb3da314d9 * Relax restriction that prevented malloc promotion in certain cases
llvm-svn: 1125
2001-11-04 22:11:10 +00:00
Vikram S. Adve
80cf60687d Generate code for Rem instruction.
llvm-svn: 1124
2001-11-04 21:59:14 +00:00
Chris Lattner
dc194d54f9 Fix obscure nasty bug with bytecode writing that could cause the last byte to be dropped.
llvm-svn: 1123
2001-11-04 21:32:41 +00:00
Chris Lattner
36c5a79153 * Disable debug output
* fix minor bug with taking datasize of unsized array type
* Insert code to support speculative changes later

llvm-svn: 1122
2001-11-04 21:32:11 +00:00
Chris Lattner
40a2d9076b Convert backward conversion of expression trees into a new more powerful bidirectional approach. Add transforms for more instructions.
llvm-svn: 1121
2001-11-04 20:21:12 +00:00
Vikram S. Adve
ea5d1f5db8 Fixed instruction information for RDCCR and WRCCR.
Fixed selection to create a TmpInstruction for each integer CC register
(since it is an implicit side-effect, unlike FP CC registers which are
explicit operands).

llvm-svn: 1120
2001-11-04 19:34:49 +00:00
Chris Lattner
33d9cb9903 Minor method rename
llvm-svn: 1119
2001-11-04 08:08:34 +00:00
Chris Lattner
f00563d39d Add transformations for Load and GetElementPtr. Fix broken transform with shr.
llvm-svn: 1118
2001-11-04 07:42:17 +00:00
Chris Lattner
eb7b620d58 Fix cast instructions that end up in bad places in GCC output
llvm-svn: 1117
2001-11-04 07:40:51 +00:00
Ruchira Sasanka
471babe2d2 Added an assertion since it seems like AdjList returns an errornous size in method
IGNode::pushOnStack().

llvm-svn: 1116
2001-11-03 22:01:09 +00:00
Chris Lattner
033324fc0c Avoid making a broken transformation!
llvm-svn: 1115
2001-11-03 21:30:22 +00:00
Chris Lattner
ec83fc091e Add new cleanup pass:
//  1. PHI nodes with multiple entries for the same predecessor.  GCC sometimes
//     generates code that looks like this:
//
//  bb7:  br bool %cond1004, label %bb8, label %bb8
//  bb8: %reg119 = phi uint [ 0, %bb7 ], [ 1, %bb7 ]
//
//     which is completely illegal LLVM code.  To compensate for this, we insert
//     an extra basic block, and convert the code to look like this:
//
//  bb7: br bool %cond1004, label %bbX, label %bb8
//  bbX: br label bb8
//  bb8: %reg119 = phi uint [ 0, %bbX ], [ 1, %bb7 ]
//

llvm-svn: 1114
2001-11-03 21:08:59 +00:00
Chris Lattner
34f8595c0b Add a helper function to PHI node
llvm-svn: 1113
2001-11-03 21:08:00 +00:00
Ruchira Sasanka
51fc1c2d72 Added support for correct spilling of %ccr
llvm-svn: 1112
2001-11-03 20:41:22 +00:00
Ruchira Sasanka
9d8950d240 Added code to support correct saving of %ccr across calls
llvm-svn: 1111
2001-11-03 19:59:59 +00:00
Chris Lattner
784c623efb * Export method to merge identically named methods
* Add code to fix PHI nodes that are missing arguments.  These PHI nodes can
  be generated by GCC if there is an uninitialized variable flowing into a merge
  point.  For example:

int foo(int y) {
  int X;
  if (y) X = 1;
  return X;
}

llvm-svn: 1110
2001-11-03 19:51:56 +00:00
Chris Lattner
cf5befef63 Expose method to merge identically named methods
llvm-svn: 1109
2001-11-03 19:49:54 +00:00
Ruchira Sasanka
ca632ed71a Arranged stack frame - needs furhter organization
llvm-svn: 1108
2001-11-03 17:14:44 +00:00
Ruchira Sasanka
97b93aea81 Moved InsertCallerSaveInstr to the SparcRegInfo.cpp and made machine independent
llvm-svn: 1107
2001-11-03 17:14:13 +00:00
Ruchira Sasanka
b7a397253f Arranged stack frame - needs furhter organization
Moved InsertCallerSaveInstr to the SparcRegInfo.cpp

llvm-svn: 1106
2001-11-03 17:13:27 +00:00
Ruchira Sasanka
629a15247a Commented out code so that copies are inserted for all phi args
CahedCopyMap was disabled to insert phi elimination code for all phi args

llvm-svn: 1105
2001-11-03 17:09:59 +00:00