Iterative coallescing doesn't buy us anything (we get identical results on

crafty with and without it).  Removing it speeds up live intervals 6%.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30010 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner
2006-09-01 04:02:42 +00:00
parent 7218c28822
commit a2a8f0919d
2 changed files with 6 additions and 39 deletions
+2 -15
View File
@@ -53,17 +53,6 @@ namespace llvm {
std::vector<bool> allocatableRegs_;
public:
struct CopyRec {
MachineInstr *MI;
unsigned SrcReg, DstReg;
};
CopyRec getCopyRec(MachineInstr *MI, unsigned SrcReg, unsigned DstReg) {
CopyRec R;
R.MI = MI;
R.SrcReg = SrcReg;
R.DstReg = DstReg;
return R;
}
struct InstrSlots {
enum {
LOAD = 0,
@@ -161,10 +150,8 @@ namespace llvm {
/// joinIntervals - join compatible live intervals
void joinIntervals();
/// CopyCoallesceInMBB - Coallsece copies in the specified MBB, putting
/// copies that cannot yet be coallesced into the "TryAgain" list.
void CopyCoallesceInMBB(MachineBasicBlock *MBB,
std::vector<CopyRec> &TryAgain);
/// CopyCoallesceInMBB - Coallsece copies in the specified MBB.
void CopyCoallesceInMBB(MachineBasicBlock *MBB);
/// JoinCopy - Attempt to join intervals corresponding to SrcReg/DstReg,
/// which are the src/dst of the copy instruction CopyMI. This returns true