Chris Lattner
5ba757369c
* Implement array indexing in lli
...
* Add external atoi method as well as floor, and srand
llvm-svn: 1355
2001-11-26 18:18:18 +00:00
Chris Lattner
638969c6de
Run constprop before -raise
...
llvm-svn: 1354
2001-11-26 18:16:07 +00:00
Chris Lattner
792dc9978e
Test array indexing
...
llvm-svn: 1349
2001-11-26 17:02:56 +00:00
Chris Lattner
3b30570f9a
Support Array Indexing
...
llvm-svn: 1348
2001-11-26 17:02:05 +00:00
Chris Lattner
1c5e8f5d58
Implement: isLosslesslyConvertableTo and new CompositeType base class
...
llvm-svn: 1347
2001-11-26 17:01:47 +00:00
Chris Lattner
f87b579b9d
If a name conflict occurs when inserting a value, rename it.
...
llvm-svn: 1346
2001-11-26 17:01:18 +00:00
Chris Lattner
330dc57305
Support array indexing
...
llvm-svn: 1345
2001-11-26 17:00:43 +00:00
Chris Lattner
c43c461ca6
Support Composite's, not just structs
...
llvm-svn: 1344
2001-11-26 17:00:13 +00:00
Chris Lattner
03386ec88b
losslessCastableTypes is moved to Type class
...
getStructOffsetType supports array indexing
llvm-svn: 1343
2001-11-26 16:59:47 +00:00
Chris Lattner
2cc6d418fa
Support selectable structure transformations
...
llvm-svn: 1342
2001-11-26 16:59:10 +00:00
Chris Lattner
f80013a917
Support mutation of array indexing
...
llvm-svn: 1341
2001-11-26 16:58:33 +00:00
Chris Lattner
f9378e7d2d
Clean up code, implement array indexing stuff
...
llvm-svn: 1340
2001-11-26 16:58:14 +00:00
Chris Lattner
1df615c834
Implement array indexing reverse engineering
...
llvm-svn: 1339
2001-11-26 16:57:31 +00:00
Chris Lattner
63b52693c8
The old getIndices has been deprecated, because it no longer works. It now
...
is named getIndicesBROKEN() and shall be removed when the codebase is updated
to not call it
llvm-svn: 1338
2001-11-26 16:56:19 +00:00
Chris Lattner
20faede952
Implement array indexing
...
llvm-svn: 1337
2001-11-26 16:54:55 +00:00
Chris Lattner
476148f95a
Implement array indexing with uints
...
llvm-svn: 1336
2001-11-26 16:54:11 +00:00
Chris Lattner
0ae45bd3f4
* Implement more powerful expr analysis of cast instructions
...
llvm-svn: 1335
2001-11-26 16:53:50 +00:00
Chris Lattner
e1531446aa
Rearrange code
...
llvm-svn: 1334
2001-11-26 16:49:49 +00:00
Chris Lattner
fcda44a75d
Allow array indexing
...
llvm-svn: 1333
2001-11-26 16:49:12 +00:00
Chris Lattner
678b377fae
Be more const correct
...
llvm-svn: 1332
2001-11-26 16:48:56 +00:00
Chris Lattner
f12d124f42
* Remove the indexVec stuff which gets out of sync with the operands of the
...
instruction.
* Change the indices to take a vector of Value's instead of ConstPoolVal's
for array indexing
* Add new idx_ iterator support for iterating over indices
llvm-svn: 1331
2001-11-26 16:48:41 +00:00
Chris Lattner
7e26de46a3
New Method isLosslesslyConvertableTo
...
llvm-svn: 1330
2001-11-26 16:47:10 +00:00
Chris Lattner
ee35c37a0a
Add new CompositeType shared baseclass of ArrayType and StructType
...
llvm-svn: 1329
2001-11-26 16:46:45 +00:00
Chris Lattner
70af97db27
Add casts
...
llvm-svn: 1328
2001-11-26 16:46:09 +00:00
Ruchira Sasanka
edbf52c7f9
commented out popAllTempValues since it leads to a bug - see code
...
llvm-svn: 1327
2001-11-15 22:03:04 +00:00
Ruchira Sasanka
7dfa1650a2
Commented some popTempArg.. since it leads to a bug
...
llvm-svn: 1326
2001-11-15 22:02:06 +00:00
Ruchira Sasanka
ec62f24009
Added naming to inserted phi copy values - for easy debugging
...
llvm-svn: 1325
2001-11-15 20:46:40 +00:00
Ruchira Sasanka
c97ccc5cb5
changed since names of some methods in PhyRegAlloc changed
...
llvm-svn: 1324
2001-11-15 20:25:07 +00:00
Ruchira Sasanka
9066899a78
Fixed a bug in setReLRegsUsedByMI
...
llvm-svn: 1323
2001-11-15 20:23:19 +00:00
Ruchira Sasanka
dec9bfd554
Changed some names of methods, added const etc.
...
llvm-svn: 1322
2001-11-15 20:22:37 +00:00
Chris Lattner
f9aea74156
Fix protection probs
...
llvm-svn: 1321
2001-11-15 15:24:31 +00:00
Vikram S. Adve
f8cb028326
Modify method AllocateLocalVar to take size argument.
...
llvm-svn: 1320
2001-11-15 15:23:02 +00:00
Vikram S. Adve
5c8f573bbf
Fix use of AllocateLocalVar for alloca instruction!
...
llvm-svn: 1319
2001-11-15 15:22:39 +00:00
Vikram S. Adve
fbb8a64749
Modify AllocateLocalVar method to take a size argument.
...
llvm-svn: 1318
2001-11-15 15:22:26 +00:00
Ruchira Sasanka
a514745a96
fixed setUsedRegAtMI
...
llvm-svn: 1317
2001-11-15 15:00:53 +00:00
Vikram S. Adve
4cfdb79dce
Bug fix for Chris.
...
llvm-svn: 1316
2001-11-15 15:00:48 +00:00
Vikram S. Adve
b601fda7ce
Print incoming arguments and return values.
...
llvm-svn: 1315
2001-11-15 15:00:16 +00:00
Vikram S. Adve
821b129755
Fix int->float conversion.
...
llvm-svn: 1314
2001-11-15 14:59:56 +00:00
Chris Lattner
02c43c8609
-cleangcc pass now remove type names that are never referenced and type names for pointers to primitive types.
...
llvm-svn: 1312
2001-11-15 04:34:46 +00:00
Ruchira Sasanka
c5989f645b
Changed phi elimination code
...
llvm-svn: 1311
2001-11-15 00:27:14 +00:00
Vikram S. Adve
3fb79e61c2
Fix cute little bug that was causing the last
...
structure offset to be ignored in computing an offset!
llvm-svn: 1310
2001-11-14 21:24:44 +00:00
Ruchira Sasanka
64f7567391
Small changed to printing a machine operand - It the operand is a def, it prints
...
a star after it - only for debugging
llvm-svn: 1309
2001-11-14 20:05:23 +00:00
Vikram S. Adve
cba86d060b
Don't assume constant operand can only be in position 1!
...
llvm-svn: 1308
2001-11-14 18:49:45 +00:00
Vikram S. Adve
7e833073e3
Add function returning which operand holds immediate constant
...
for a given opcode.
llvm-svn: 1307
2001-11-14 18:48:36 +00:00
Vikram S. Adve
65d54eb06e
Idiotic error in last fix.
...
llvm-svn: 1306
2001-11-14 17:55:02 +00:00
Vikram S. Adve
c1b534043f
Don't need to load a NULL pointer constant from memory!
...
llvm-svn: 1305
2001-11-14 17:24:49 +00:00
Vikram S. Adve
ea1a93b95d
Change latency of SETX to improve schedule -- just a hack.
...
llvm-svn: 1304
2001-11-14 15:54:44 +00:00
Ruchira Sasanka
7765ca8b25
Added support method for setting interference for pseudo instructions
...
llvm-svn: 1303
2001-11-14 15:37:13 +00:00
Ruchira Sasanka
f7a9a52e8d
added isPseudoInstr()
...
llvm-svn: 1302
2001-11-14 15:35:51 +00:00
Ruchira Sasanka
b8be6f6856
Added M_PSEUDO_FLAG for SETX .. instr
...
llvm-svn: 1301
2001-11-14 15:35:13 +00:00
Ruchira Sasanka
f1acecccb6
Added interference for args in pseudo instructions
...
llvm-svn: 1300
2001-11-14 15:33:58 +00:00
Chris Lattner
af84e627fd
Rename cruft
...
llvm-svn: 1299
2001-11-14 11:28:18 +00:00
Chris Lattner
1237e86597
Remove much cruft from the MemAccessInst instruction
...
llvm-svn: 1298
2001-11-14 11:27:58 +00:00
Chris Lattner
afea660cb5
Fix link prob
...
llvm-svn: 1297
2001-11-14 11:03:17 +00:00
Chris Lattner
abf40ba6e8
Better heuristics for handling arrays
...
llvm-svn: 1296
2001-11-14 11:02:49 +00:00
Ruchira Sasanka
33c400f6a7
commented out lines printing code after scheduling
...
llvm-svn: 1295
2001-11-13 23:12:53 +00:00
Ruchira Sasanka
36f13d1c2f
Fixed a bug concering LR spilling. Earlier, added spilled code was not inserted
...
into the instruction stream correctly.
llvm-svn: 1294
2001-11-13 23:09:30 +00:00
Ruchira Sasanka
1a9a7f2ef1
Changed checking for invalid register number - earlier it was uisng a contant
...
llvm-svn: 1293
2001-11-13 23:08:19 +00:00
Chris Lattner
4f534e6b3a
Only use one form of printVal per program to avoid spurious link errors
...
llvm-svn: 1292
2001-11-13 06:27:19 +00:00
Chris Lattner
9754aba7f0
Implement some more rand functions for em3d benchmark
...
llvm-svn: 1291
2001-11-13 05:46:08 +00:00
Chris Lattner
c047f4eb02
Overwrite files when linked
...
Remove native files when cleaned
llvm-svn: 1289
2001-11-13 05:44:27 +00:00
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