Ruchira Sasanka
1d566afc16
Added more comments
...
llvm-svn: 1496
2002-01-07 20:28:49 +00:00
Ruchira Sasanka
04da4f197f
Added comments and correct logic for finding register sizes.
...
llvm-svn: 1494
2002-01-07 19:20:28 +00:00
Ruchira Sasanka
222c51efe9
Added destructors and comments.
...
Added correct spill candidate selection logic.
llvm-svn: 1493
2002-01-07 19:19:18 +00:00
Ruchira Sasanka
3d5efa3be1
Added comments, destructors where necessary.
...
llvm-svn: 1491
2002-01-07 19:16:26 +00:00
Vikram S. Adve
b61dccd269
Eliminate function getIndicesBROKEN().
...
llvm-svn: 1486
2001-12-15 00:37:12 +00:00
Vikram S. Adve
0607fbbf01
Eliminate all uses of memInst->getIndicesBROKEN().
...
llvm-svn: 1485
2001-12-15 00:36:32 +00:00
Vikram S. Adve
1d755bccee
getIndexedOffset() shd take vector of Values, not of Constants!
...
llvm-svn: 1484
2001-12-15 00:35:48 +00:00
Vikram S. Adve
605a47ebe4
Remove int hack to allow unsigned numbers greater than 2^63 - 1...
...
llvm-svn: 1483
2001-12-15 00:33:36 +00:00
Chris Lattner
37ba4e2bb7
initial checkin
...
llvm-svn: 1480
2001-12-14 16:52:21 +00:00
Chris Lattner
59918ae040
* Support the new -q flag for automated tests
...
* Remove unsized array support
* Add pointer indexing support
llvm-svn: 1477
2001-12-14 16:49:29 +00:00
Chris Lattner
8e4844c07b
* Assert that indices are valid for an indexing instruction.
...
* Add support for indexing into pointers
* Remove support for unsized arrays
llvm-svn: 1472
2001-12-14 16:43:26 +00:00
Chris Lattner
eb03e839bc
Rename ConstPoolVals.cpp to Constants.cpp
...
llvm-svn: 1471
2001-12-14 16:42:30 +00:00
Chris Lattner
e443a8ff8d
Remove unsized array support
...
Add new SequentialType class
llvm-svn: 1470
2001-12-14 16:41:56 +00:00
Chris Lattner
ba664bbc27
Make strings SByte* arrays instead of UByte * arrays
...
llvm-svn: 1469
2001-12-14 16:41:18 +00:00
Chris Lattner
98a6e485b0
* isFirstClassType is now provided by the Type class
...
* Add ReplaceInstWithInst
llvm-svn: 1468
2001-12-14 16:39:22 +00:00
Chris Lattner
553ec6b72f
* add ReplaceInstWithInst
...
* Add support for pointer indexing
* Fix minor bugs that are majorly annoying
llvm-svn: 1467
2001-12-14 16:38:59 +00:00
Chris Lattner
9e6ccdd858
Remove unsized array support
...
llvm-svn: 1466
2001-12-14 16:38:04 +00:00
Chris Lattner
cd134c6891
* Support pointer indexing
...
* Unsized arrays are a thing of the past, remove DoInsertArrayCast family
* Remove cases were we would get into infinite loops because we would insert a cast
which would then be removed, inserting a different cast, ad infinitum...
* Remove some code that should be redundant with ExprTypeConvert code
llvm-svn: 1465
2001-12-14 16:37:52 +00:00
Chris Lattner
1dc9744cc7
Many many changes and bugfixes:
...
* Remove support for unsized arrays
* Add pointer indexing support
* Allow more arbitrary malloc type changes (which are too generous currently
and should be fixed in the future)
* Allow more and better conversions
llvm-svn: 1464
2001-12-14 16:35:53 +00:00
Chris Lattner
315df5b058
The proper prototype for malloc returns a pointer, not an unsized array
...
llvm-svn: 1463
2001-12-14 16:32:20 +00:00
Chris Lattner
831b4ac558
Allow pointer indexing
...
llvm-svn: 1462
2001-12-14 16:31:26 +00:00
Chris Lattner
43c92f9dbd
Remove unsized array support
...
llvm-svn: 1461
2001-12-14 16:30:51 +00:00
Chris Lattner
8ab6f31913
Add pointer indexing support
...
llvm-svn: 1460
2001-12-14 16:30:09 +00:00
Chris Lattner
2cd50171de
Don't waste as much horizontal space on #uses flag when printing
...
llvm-svn: 1459
2001-12-14 16:29:12 +00:00
Chris Lattner
a1ba456c49
* Fix cases where we were calling Type->getName() instead of Type->getDescription()
...
* Remove unsized array support
* Malloc/alloca do not require that the first element be an unsized array to be an
array allocation
llvm-svn: 1458
2001-12-14 16:28:42 +00:00
Chris Lattner
6b2dc21b63
* Refactor trace values to work as a proper pass. Before it used to add
...
methods while the pass was running which was a no no. Now it adds the
printf method at pass initialization
* Revamp code to use printf calls instead of the old style print_<type>
calls.
* Simplify code
llvm-svn: 1457
2001-12-14 16:26:05 +00:00
Ruchira Sasanka
58691e18af
added a section on how to modify live variable code to use LLVM instructions
...
instead of machine instructions.
llvm-svn: 1451
2001-12-13 21:25:46 +00:00
Chris Lattner
e5172702f4
Not just arrays are unsized
...
llvm-svn: 1450
2001-12-13 00:46:11 +00:00
Chris Lattner
488f202019
Assertion could never fail because another one would in it's place. :)
...
llvm-svn: 1449
2001-12-13 00:45:40 +00:00
Chris Lattner
44a0bf36c6
Some programs are using BB's as values, until we resolve this. Disable the assert
...
llvm-svn: 1448
2001-12-13 00:45:06 +00:00
Chris Lattner
eed30bc7da
Build runtime library with local GCCAS
...
llvm-svn: 1447
2001-12-13 00:44:23 +00:00
Chris Lattner
472385127d
Implement sprintf
...
llvm-svn: 1445
2001-12-13 00:43:47 +00:00
Chris Lattner
9a7dd44f2c
Swap operands now preserves the semantics of the binary operator by changing
...
the opcode of the instruction if possible.
llvm-svn: 1444
2001-12-13 00:43:03 +00:00
Chris Lattner
9d4207dbaf
Add debugging to make a more useful message if a value gets constructed with a null type
...
llvm-svn: 1443
2001-12-13 00:41:27 +00:00
Ruchira Sasanka
05aed40cfa
Added more comments. Added code to destructor in MethodLiveVarInfo to delete
...
LiveVarSet caches.
llvm-svn: 1435
2001-12-08 21:05:27 +00:00
Ruchira Sasanka
9d26f00cfb
Added comments are more documentation info
...
llvm-svn: 1434
2001-12-08 21:04:22 +00:00
Chris Lattner
d76171a512
Implement more general conversions for getelementptr instructions
...
llvm-svn: 1432
2001-12-07 04:40:30 +00:00
Chris Lattner
9ae054fd1a
Remove code that is superceeded by code in ExprTypeConvert.cpp
...
llvm-svn: 1431
2001-12-07 04:39:01 +00:00
Chris Lattner
e3b8fb7426
Don't insert scales of 1 :)
...
llvm-svn: 1430
2001-12-07 04:26:02 +00:00
Chris Lattner
9421444244
Do not pessimize users of this function. Fix logic.
...
llvm-svn: 1428
2001-12-06 18:06:37 +00:00
Chris Lattner
e3b57cfe8f
We can do cast-add elimination even on casts that reinterpret
...
llvm-svn: 1427
2001-12-06 18:06:13 +00:00
Chris Lattner
e23b6591f9
Fix bug that caused invalid transformations to be applied
...
llvm-svn: 1426
2001-12-06 18:05:55 +00:00
Chris Lattner
d89106f96b
Actually return true when a change has been made
...
llvm-svn: 1425
2001-12-05 19:41:33 +00:00
Chris Lattner
8ca0f9efd6
Handle more complex array indexing expressions
...
llvm-svn: 1424
2001-12-05 19:41:16 +00:00
Chris Lattner
662a17ba5f
Fix pessimizations on sized arrays
...
llvm-svn: 1423
2001-12-05 19:40:32 +00:00
Chris Lattner
57e64f9985
Fix a few bugs. Fix pessimization handling sized arrays
...
llvm-svn: 1422
2001-12-05 19:39:15 +00:00
Chris Lattner
fb6a288211
"fix" problems processing floating point expressions
...
llvm-svn: 1421
2001-12-05 19:38:29 +00:00
Chris Lattner
d1a8ed7d8c
Hrm, don't do debugging output when debugging is off. :(
...
llvm-svn: 1420
2001-12-05 06:40:17 +00:00
Chris Lattner
05fb7c607f
Fixes to type conversion stuff to match induction variables more frequently
...
llvm-svn: 1417
2001-12-05 06:34:00 +00:00
Chris Lattner
53fcedeb3c
Fix a bug that clobbered the step value on some inputs
...
llvm-svn: 1416
2001-12-05 06:32:30 +00:00
Chris Lattner
7059b60173
Fix a bug introduced by "internal linkage" work.
...
llvm-svn: 1415
2001-12-04 18:01:49 +00:00
Chris Lattner
8ec5ceb110
Fix bugs, don't do external methods which causes segv.
...
llvm-svn: 1414
2001-12-04 08:13:06 +00:00
Chris Lattner
c1b018dcf4
Remove printouts
...
llvm-svn: 1413
2001-12-04 08:12:53 +00:00
Chris Lattner
83d8d32cfa
Fix a pessimization due to sucky LI testing
...
llvm-svn: 1412
2001-12-04 08:12:47 +00:00
Chris Lattner
bd85988c94
Implement induction variable simplification
...
llvm-svn: 1411
2001-12-04 04:32:29 +00:00
Chris Lattner
d865a13064
Allow hyphens in identifier names
...
llvm-svn: 1409
2001-12-04 04:31:30 +00:00
Chris Lattner
c4a5815033
Renamed inst_const_iterator -> const_inst_iterator
...
Renamed op_const_iterator -> const_op_iterator
Renamed PointerType::getValueType() -> PointerType::getElementType()
llvm-svn: 1408
2001-12-04 00:03:30 +00:00
Chris Lattner
f6b7da2bb5
Rename ConstPoolVal -> Constant
...
Rename ConstPool* -> Constant*
Rename ConstPoolVals.h -> ConstantVals.h
llvm-svn: 1407
2001-12-03 22:26:30 +00:00
Chris Lattner
bcf2df7058
Split the PHINode class out from the iOther.h file into the iPHINode.h file
...
llvm-svn: 1405
2001-12-03 18:02:31 +00:00
Chris Lattner
a337749b35
Initial checkin of indvar stuff
...
llvm-svn: 1404
2001-12-03 17:28:42 +00:00
Chris Lattner
cf360e3fd8
Compile the scalar directory
...
llvm-svn: 1403
2001-12-03 17:28:15 +00:00
Chris Lattner
a302c202ab
Induction variables must be phi nodes
...
llvm-svn: 1402
2001-12-03 17:27:42 +00:00
Chris Lattner
f90b19a71c
Move support directory
...
llvm-svn: 1401
2001-11-29 16:32:16 +00:00
Chris Lattner
463cc31132
Create a new #include "Support/..." directory structure to move things
...
from "llvm/Support/..." that are not llvm dependant.
Move files and fix #includes
llvm-svn: 1400
2001-11-27 00:03:19 +00:00
Chris Lattner
cead7793a7
Move DataTypes.h from llvm/Support to just Support
...
llvm-svn: 1399
2001-11-26 23:04:08 +00:00
Chris Lattner
7b91b28853
Turn off debug info
...
llvm-svn: 1396
2001-11-26 19:36:58 +00:00
Chris Lattner
90bdf397e1
Use pointertype where appropriate
...
llvm-svn: 1392
2001-11-26 19:20:16 +00:00
Chris Lattner
f4cbfaed0a
Remove invalid,unneccesary ## token
...
llvm-svn: 1391
2001-11-26 19:19:27 +00:00
Chris Lattner
37ad91c9dc
Implement internal
...
llvm-svn: 1385
2001-11-26 19:14:56 +00:00
Chris Lattner
84d72f9596
Make strings be internal
...
llvm-svn: 1384
2001-11-26 19:14:33 +00:00
Chris Lattner
2459d65720
Remove debugging output
...
llvm-svn: 1383
2001-11-26 19:14:16 +00:00
Chris Lattner
c56685dca6
Support internal linkage
...
llvm-svn: 1382
2001-11-26 19:14:03 +00:00
Chris Lattner
5753d430a6
Build IPO directory
...
llvm-svn: 1381
2001-11-26 18:59:30 +00:00
Chris Lattner
dce8511222
Implement support for internal methods
...
llvm-svn: 1380
2001-11-26 18:59:18 +00:00
Chris Lattner
4d2046a71e
Include const prop as part of -raise
...
llvm-svn: 1379
2001-11-26 18:58:55 +00:00
Chris Lattner
9158ea6980
* Implement support for folding multiple single letter arguments together like
...
with ls: ls -la === ls -l -a
* Implement support for trimming arguments that start with a single letter
argument so that -lfoo is recognized as -l foo for the linker
llvm-svn: 1378
2001-11-26 18:58:34 +00:00
Chris Lattner
d10d3f1015
Misc cleanups
...
llvm-svn: 1377
2001-11-26 18:57:38 +00:00
Chris Lattner
8fd567523c
Expose constant propogation of an instruction in a clean way
...
llvm-svn: 1376
2001-11-26 18:57:12 +00:00
Chris Lattner
b914467e57
Stuff after a #endif is not valid CPP input and breaks some compilers
...
llvm-svn: 1375
2001-11-26 18:56:52 +00:00
Chris Lattner
e577171af8
Implement internal method support
...
llvm-svn: 1374
2001-11-26 18:56:10 +00:00
Chris Lattner
2a1613d3b2
Implement support for internal methods
...
llvm-svn: 1373
2001-11-26 18:54:16 +00:00
Chris Lattner
997aede09d
Implement writer support for Loops, Induction Variables, and CallGraphs
...
llvm-svn: 1372
2001-11-26 18:53:29 +00:00
Chris Lattner
86b47687fa
Make Mul work right
...
Make sub work right
llvm-svn: 1371
2001-11-26 18:53:07 +00:00
Chris Lattner
aae473d198
Fix a bad assertion to be correct . The root basic block can be used by PHI nodes.
...
llvm-svn: 1370
2001-11-26 18:52:02 +00:00
Chris Lattner
7b9b59f437
Implement a new entry node that has edges to all external methods in the module
...
llvm-svn: 1369
2001-11-26 18:51:25 +00:00
Chris Lattner
118f8023f8
Implement DCE of global values
...
llvm-svn: 1360
2001-11-26 18:42:17 +00:00
Chris Lattner
c969e45ded
* Implement dominator based loop identification
...
* Implement cleaner induction variable identification
llvm-svn: 1359
2001-11-26 18:41:20 +00:00
Chris Lattner
136ed3b396
* 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
b19c837bd3
Support Array Indexing
...
llvm-svn: 1348
2001-11-26 17:02:05 +00:00
Chris Lattner
da7f31493c
Implement: isLosslesslyConvertableTo and new CompositeType base class
...
llvm-svn: 1347
2001-11-26 17:01:47 +00:00
Chris Lattner
1e270e0e2b
If a name conflict occurs when inserting a value, rename it.
...
llvm-svn: 1346
2001-11-26 17:01:18 +00:00
Chris Lattner
e996313daa
Support array indexing
...
llvm-svn: 1345
2001-11-26 17:00:43 +00:00
Chris Lattner
4694a03e25
Support Composite's, not just structs
...
llvm-svn: 1344
2001-11-26 17:00:13 +00:00
Chris Lattner
ab740485ab
losslessCastableTypes is moved to Type class
...
getStructOffsetType supports array indexing
llvm-svn: 1343
2001-11-26 16:59:47 +00:00
Chris Lattner
c1f0351928
Support selectable structure transformations
...
llvm-svn: 1342
2001-11-26 16:59:10 +00:00
Chris Lattner
98a6ef2594
Support mutation of array indexing
...
llvm-svn: 1341
2001-11-26 16:58:33 +00:00
Chris Lattner
95b74bb24f
Clean up code, implement array indexing stuff
...
llvm-svn: 1340
2001-11-26 16:58:14 +00:00
Chris Lattner
a9084f9746
Implement array indexing reverse engineering
...
llvm-svn: 1339
2001-11-26 16:57:31 +00:00
Chris Lattner
9236d30e29
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
47661d9be5
Implement array indexing
...
llvm-svn: 1337
2001-11-26 16:54:55 +00:00
Chris Lattner
a459583ba8
Implement array indexing with uints
...
llvm-svn: 1336
2001-11-26 16:54:11 +00:00
Chris Lattner
c6539d556a
* Implement more powerful expr analysis of cast instructions
...
llvm-svn: 1335
2001-11-26 16:53:50 +00:00
Ruchira Sasanka
50f9f0242a
commented out popAllTempValues since it leads to a bug - see code
...
llvm-svn: 1327
2001-11-15 22:03:04 +00:00
Ruchira Sasanka
771ffc7640
Commented some popTempArg.. since it leads to a bug
...
llvm-svn: 1326
2001-11-15 22:02:06 +00:00
Ruchira Sasanka
647337ad60
Added naming to inserted phi copy values - for easy debugging
...
llvm-svn: 1325
2001-11-15 20:46:40 +00:00
Ruchira Sasanka
22092f4ced
changed since names of some methods in PhyRegAlloc changed
...
llvm-svn: 1324
2001-11-15 20:25:07 +00:00
Ruchira Sasanka
63203e9c07
Fixed a bug in setReLRegsUsedByMI
...
llvm-svn: 1323
2001-11-15 20:23:19 +00:00
Ruchira Sasanka
bcd55f277e
Changed some names of methods, added const etc.
...
llvm-svn: 1322
2001-11-15 20:22:37 +00:00
Vikram S. Adve
8fbf76e494
Fix use of AllocateLocalVar for alloca instruction!
...
llvm-svn: 1319
2001-11-15 15:22:39 +00:00
Vikram S. Adve
bcd2ba2fea
Modify AllocateLocalVar method to take a size argument.
...
llvm-svn: 1318
2001-11-15 15:22:26 +00:00
Ruchira Sasanka
897fbc8db8
fixed setUsedRegAtMI
...
llvm-svn: 1317
2001-11-15 15:00:53 +00:00
Vikram S. Adve
44df059d4d
Print incoming arguments and return values.
...
llvm-svn: 1315
2001-11-15 15:00:16 +00:00
Vikram S. Adve
b9a32dab69
Fix int->float conversion.
...
llvm-svn: 1314
2001-11-15 14:59:56 +00:00
Chris Lattner
e19d5b4615
-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
9892c23157
Changed phi elimination code
...
llvm-svn: 1311
2001-11-15 00:27:14 +00:00
Vikram S. Adve
48b926e060
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
7b4fe5d51b
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
a8f8fd19c0
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
3baa8cefc0
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
9ed66f8e94
Idiotic error in last fix.
...
llvm-svn: 1306
2001-11-14 17:55:02 +00:00
Vikram S. Adve
e3c0a06ef9
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
1c7f39af14
Change latency of SETX to improve schedule -- just a hack.
...
llvm-svn: 1304
2001-11-14 15:54:44 +00:00
Ruchira Sasanka
6d6f616a06
Added support method for setting interference for pseudo instructions
...
llvm-svn: 1303
2001-11-14 15:37:13 +00:00
Ruchira Sasanka
0f38515129
Added M_PSEUDO_FLAG for SETX .. instr
...
llvm-svn: 1301
2001-11-14 15:35:13 +00:00
Ruchira Sasanka
f00a3e0aab
Added interference for args in pseudo instructions
...
llvm-svn: 1300
2001-11-14 15:33:58 +00:00
Chris Lattner
80788c6947
Rename cruft
...
llvm-svn: 1299
2001-11-14 11:28:18 +00:00
Chris Lattner
4046596beb
Remove much cruft from the MemAccessInst instruction
...
llvm-svn: 1298
2001-11-14 11:27:58 +00:00
Chris Lattner
f45cb25619
Better heuristics for handling arrays
...
llvm-svn: 1296
2001-11-14 11:02:49 +00:00
Ruchira Sasanka
a39f918171
commented out lines printing code after scheduling
...
llvm-svn: 1295
2001-11-13 23:12:53 +00:00
Ruchira Sasanka
b1e6823bc1
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
7fe45d1136
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
2d05a0dd7d
Implement some more rand functions for em3d benchmark
...
llvm-svn: 1291
2001-11-13 05:46:08 +00:00
Chris Lattner
71a0797f80
* 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
8c4520cd1e
Minor style cleanups
...
llvm-svn: 1287
2001-11-13 04:59:58 +00:00
Chris Lattner
3b2e10698f
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
3df85d6132
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
af9c0a766a
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
0bd498dd38
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
Chris Lattner
7d0854c71e
Remove debug info :(
...
llvm-svn: 1280
2001-11-12 21:52:57 +00:00
Chris Lattner
a6ada3716c
Fix bug in new assertion
...
llvm-svn: 1279
2001-11-12 21:48:38 +00:00
Ruchira Sasanka
3484bbb97c
Fixed a bug with pervious ColorCallArg
...
llvm-svn: 1278
2001-11-12 20:54:19 +00:00
Ruchira Sasanka
67478b7484
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
3dc54c19b3
Add an assertion check
...
llvm-svn: 1276
2001-11-12 20:30:32 +00:00
Chris Lattner
2dce653a78
I don't know what I was thinking
...
llvm-svn: 1275
2001-11-12 20:30:12 +00:00
Chris Lattner
ab0f8a05f6
Print percentages for profiling info better
...
llvm-svn: 1274
2001-11-12 20:13:14 +00:00
Chris Lattner
184137a419
Fix minor bug
...
llvm-svn: 1273
2001-11-12 20:13:04 +00:00
Ruchira Sasanka
d6c5e0f535
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
3e193c7709
Changed insert instructions only for CONSTANTS - back to original
...
llvm-svn: 1271
2001-11-12 19:32:04 +00:00
Vikram S. Adve
a3f0115c71
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
624846d3fd
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
29ad087a83
Print profile info if exit() is called
...
llvm-svn: 1268
2001-11-12 16:28:48 +00:00
Chris Lattner
28afda8ca4
Hack a structure profiling option together
...
llvm-svn: 1267
2001-11-12 16:19:45 +00:00
Ruchira Sasanka
426d6e2b10
Added phi elimination code
...
llvm-svn: 1265
2001-11-12 14:45:33 +00:00
Ruchira Sasanka
9b7638e108
Added phi elimination code - not final
...
llvm-svn: 1264
2001-11-12 14:44:50 +00:00
Vikram S. Adve
1fc185b8e7
Improved printing routines.
...
llvm-svn: 1263
2001-11-12 14:19:47 +00:00
Vikram S. Adve
3a5bf13976
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
31372d2b26
Adjust all stack variable offsets to be aligned by size.
...
llvm-svn: 1261
2001-11-12 05:17:23 +00:00
Vikram S. Adve
bb424a4fe1
Fix dumb bug in alignment adjustment code!
...
llvm-svn: 1260
2001-11-12 05:16:39 +00:00
Vikram S. Adve
2b5e92123c
Fix bogus code that was eliminating needed args.
...
llvm-svn: 1259
2001-11-11 23:11:36 +00:00
Ruchira Sasanka
661bf856f5
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
9d20df621c
cahnged StackPointer accesses to FramePointer
...
llvm-svn: 1257
2001-11-11 21:49:37 +00:00
Vikram S. Adve
51265e7072
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
b98d36462b
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
0b0bd6e749
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
bf9791fe90
Changed code to ignore Phi Nodes in PhyRegAlloc
...
llvm-svn: 1253
2001-11-10 21:21:36 +00:00
Ruchira Sasanka
bf341d2d5d
Corrected reodering code for instructions inserted before calls
...
llvm-svn: 1252
2001-11-10 21:20:43 +00:00
Chris Lattner
053906abc0
Initail checking of structure swapper
...
llvm-svn: 1248
2001-11-10 07:28:25 +00:00
Chris Lattner
79fd0836bb
Initial checkin of structure mutator
...
llvm-svn: 1246
2001-11-10 07:26:31 +00:00
Vikram S. Adve
ca73b36000
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
cbc2cec180
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
e98f033070
Disabled some debuggin messages
...
llvm-svn: 1237
2001-11-10 00:26:55 +00:00
Ruchira Sasanka
699d104906
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
Ruchira Sasanka
c32ebd1a4e
No major change
...
llvm-svn: 1235
2001-11-09 23:49:42 +00:00
Ruchira Sasanka
a4a64f3755
Added code for correct reordering of call arguments
...
llvm-svn: 1234
2001-11-09 23:49:14 +00:00
Chris Lattner
37955a1d28
New pass to find types in use by a program
...
llvm-svn: 1232
2001-11-09 05:27:21 +00:00
Vikram S. Adve
68306457ae
Added class MachineCacheInfo.
...
llvm-svn: 1229
2001-11-09 02:20:18 +00:00
Vikram S. Adve
6c5f14ebbc
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
91f30ac019
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
61173418a7
Added function UltraSparcInstrInfo::CreateCodeToCopyFloatToInt.
...
llvm-svn: 1226
2001-11-09 02:16:40 +00:00
Vikram S. Adve
8766f0ad37
Added class UltraSparcCacheInfo.
...
llvm-svn: 1225
2001-11-09 02:16:04 +00:00
Vikram S. Adve
1b7faa892c
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
cc746868d7
Use node->getOpCode() instead of node->getMachineInstr()->getOpCode().
...
Much nicer.
llvm-svn: 1223
2001-11-09 02:14:20 +00:00
Chris Lattner
de13795a04
Remove false optimization that basically broke everything
...
llvm-svn: 1219
2001-11-09 01:08:10 +00:00
Chris Lattner
7969ed3025
* 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
d0f1f10bec
Add method decl
...
llvm-svn: 1217
2001-11-08 20:55:05 +00:00
Chris Lattner
fdc70e08d0
Improve raising significantly
...
llvm-svn: 1214
2001-11-08 20:19:56 +00:00
Chris Lattner
41f173e9d0
Print the method that makes an instruction invalid
...
llvm-svn: 1213
2001-11-08 19:29:51 +00:00
Ruchira Sasanka
5ebbfbdd2e
corrected insertCode4Spilled ... bug.
...
llvm-svn: 1212
2001-11-08 19:11:30 +00:00
Ruchira Sasanka
1f95b36e06
Uncommented LR spill code insertion
...
llvm-svn: 1207
2001-11-08 16:43:25 +00:00
Vikram S. Adve
9073d4427a
Bug fix: need to use .reserve for uninitialized data.
...
llvm-svn: 1205
2001-11-08 14:29:57 +00:00
Vikram S. Adve
a0da8fc9c5
Bug fix: cannot modify Phi operands while iterating over them!
...
llvm-svn: 1203
2001-11-08 05:25:33 +00:00
Vikram S. Adve
841ffd6a44
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
149bd3837d
MachineCodeForMethod is now an annotation on class Method.
...
llvm-svn: 1198
2001-11-08 05:18:18 +00:00
Vikram S. Adve
2bb61e90a3
Add handle to TargetMachine object in all Machine...Info classes.
...
llvm-svn: 1197
2001-11-08 05:15:08 +00:00
Vikram S. Adve
347a3cab9e
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
ef146ce336
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
a7383895cd
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
61f4694d6e
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
77dca53970
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
1cc04e4908
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