Chris Lattner
e282c0b592
Convert operand iterator over to work like an STL iterator
...
llvm-svn: 1720
2002-02-05 06:02:59 +00:00
Chris Lattner
5337fbec40
Minor change: Methods that return ValueSet's that are guaranteed to be valid
...
return references instead of pointers.
llvm-svn: 1719
2002-02-05 04:20:12 +00:00
Chris Lattner
862fab4da7
* Code Cleanups
...
* Removal dependencies on Type.h & remove uses of getTypeID()
llvm-svn: 1718
2002-02-05 03:52:29 +00:00
Chris Lattner
f3d0ae9fdb
* Eliminate the LiveVarSet class, making applyTranferFuncForMInst a static
...
function in the one .cpp file that uses it. Use ValueSet's instead.
* Prepare to delete LiveVarSet.h & LiveVarSet.cpp
* Eliminate the ValueSet class, making all old member functions into global
templates that will eventually be moved to Support.
* Eliminate some irrelevant const's
llvm-svn: 1712
2002-02-05 02:52:05 +00:00
Chris Lattner
a8170f0944
* Code Cleanups
...
* Introduce RAV to allow stream I/O instead of using printValue
llvm-svn: 1710
2002-02-05 01:43:49 +00:00
Chris Lattner
467da46166
* Add a #include not indirectly included any more
...
llvm-svn: 1707
2002-02-05 00:35:14 +00:00
Chris Lattner
817f1768d4
* RegisterAllocation _uses_ LiveVar analysis, instead of creating it's own copy
...
llvm-svn: 1701
2002-02-04 20:02:38 +00:00
Chris Lattner
e264071f46
Switch register allocator over to using LoopInfo directly instead of indirectly through LoopDepthCalculator
...
llvm-svn: 1696
2002-02-04 17:48:00 +00:00
Chris Lattner
bb19367753
Make LoopDeptCalculator be an internal artifact of how RegAlloc is implemented,
...
do not expose it. Additionally, have it be auto generated by the pass framework
for us.
llvm-svn: 1695
2002-02-04 17:39:42 +00:00
Chris Lattner
f3f13580e9
* Add #includes removed from headers
...
* ValueSet interface converted from add/remove to insert/erase
* Minor cleanups
llvm-svn: 1689
2002-02-04 16:36:59 +00:00
Chris Lattner
8bfb48c8d3
Convert RegisterAllocator interface to opaque pass type, so that users do not
...
need to know _anything_ about RegAlloc to use it. Well in the end maybe.
llvm-svn: 1681
2002-02-04 15:54:09 +00:00
Chris Lattner
0de4b16eef
Add #includes neccesary since they were removed from .h files
...
llvm-svn: 1675
2002-02-04 05:56:09 +00:00
Chris Lattner
9a8ff2595a
Split RegisterAllocation stuff OUT of Sparc.cpp into a well defined pass
...
that has a very minimal interface (like it should have).
llvm-svn: 1667
2002-02-04 00:33:08 +00:00
Chris Lattner
4315c295f5
Lots of code cleanups, no functional changes
...
llvm-svn: 1650
2002-02-03 07:46:34 +00:00
Chris Lattner
d0e1f35161
Oops lost a parenthesis somehow :(
...
llvm-svn: 1504
2002-01-21 01:33:12 +00:00
Chris Lattner
3dc9a2a61f
Changes to build successfully with GCC 3.02
...
llvm-svn: 1503
2002-01-20 22:54:45 +00:00
Ruchira Sasanka
b6d7a004fa
PhyRegAlloc.cpp: Added temp area resetting before every call
...
llvm-svn: 1499
2002-01-07 21:09:06 +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
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
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
63203e9c07
Fixed a bug in setReLRegsUsedByMI
...
llvm-svn: 1323
2001-11-15 20:23:19 +00:00
Ruchira Sasanka
897fbc8db8
fixed setUsedRegAtMI
...
llvm-svn: 1317
2001-11-15 15:00:53 +00:00
Ruchira Sasanka
f00a3e0aab
Added interference for args in pseudo instructions
...
llvm-svn: 1300
2001-11-14 15:33:58 +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
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
Ruchira Sasanka
bf9791fe90
Changed code to ignore Phi Nodes in PhyRegAlloc
...
llvm-svn: 1253
2001-11-10 21:21:36 +00:00
Ruchira Sasanka
c32ebd1a4e
No major change
...
llvm-svn: 1235
2001-11-09 23:49:42 +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
2c8710f0c4
Removed class RegStackOffsets and used class MachineCodeForMethod
...
directly to manage stack frame.
llvm-svn: 1186
2001-11-08 04:48:50 +00:00
Ruchira Sasanka
77cc18917c
Added support for correct spilling of %ccr
...
llvm-svn: 1112
2001-11-03 20:41:22 +00:00
Ruchira Sasanka
7673c5f6e0
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
e095b077cf
Added spill code support; moved insertCallerSaving to SparRegInfo since
...
we need to handle %ccr reg in a special way.
llvm-svn: 990
2001-10-28 18:12:02 +00:00
Ruchira Sasanka
155cb5a9c4
Added support to move "added instructions" after the delay slot
...
llvm-svn: 967
2001-10-23 21:38:00 +00:00
Vikram S. Adve
21da1db37f
Use class MachineCodeForMethod to print machine code.
...
llvm-svn: 948
2001-10-22 13:52:03 +00:00
Ruchira Sasanka
6df15c541f
Added support for both call/jmpl instructions
...
llvm-svn: 930
2001-10-21 16:43:41 +00:00
Ruchira Sasanka
b80714a64a
Added code to PhyRegAlloc to mark unusable suggested regs
...
Added initialization to AdjList to IGNode constructor - major bug fix
llvm-svn: 920
2001-10-19 21:39:31 +00:00
Ruchira Sasanka
1f65433b82
Corrected call interference bug
...
llvm-svn: 916
2001-10-19 17:21:03 +00:00
Ruchira Sasanka
67992edbfc
no major change
...
llvm-svn: 914
2001-10-18 23:58:08 +00:00
Ruchira Sasanka
384b7b3479
removed some debug messages
...
llvm-svn: 910
2001-10-18 22:36:26 +00:00
Ruchira Sasanka
471cf92f0e
changed debugg message printing - no change to useful code
...
llvm-svn: 850
2001-10-16 16:34:44 +00:00
Ruchira Sasanka
6dd033bd31
No major change - commented some debug code
...
llvm-svn: 849
2001-10-16 01:33:55 +00:00
Ruchira Sasanka
26ab9c8e61
Added support for caller saving
...
llvm-svn: 847
2001-10-16 01:23:19 +00:00
Chris Lattner
683166c06e
Output to cerr rather than cout so that debug info doesn't mess up assembly generation
...
llvm-svn: 840
2001-10-15 18:15:27 +00:00
Ruchira Sasanka
183e59e94a
updated suggesting/coloring of call & return args & implicit operands.
...
Changed added instr to a deque (from a vector)
llvm-svn: 831
2001-10-15 16:26:38 +00:00
Ruchira Sasanka
e04709a704
--added suggesting colors; call/ret arg handling
...
llvm-svn: 670
2001-09-30 23:11:59 +00:00
Chris Lattner
c1073581ae
Change debug info from #define to command line option
...
Clean up extra debug info that wasn't guarded
llvm-svn: 647
2001-09-19 16:26:23 +00:00
Chris Lattner
81a5329a90
* REMOVE extraneous debug info if DEBUG_RA is not set
...
* Spell PhyRegAlloc right.
llvm-svn: 645
2001-09-19 16:09:04 +00:00