[llvm-commits] CVS: llvm/lib/CodeGen/LiveIntervals.cpp
Alkis Evlogimenos
alkis at cs.uiuc.edu
Thu Jul 22 08:18:20 PDT 2004
Changes in directory llvm/lib/CodeGen:
LiveIntervals.cpp updated: 1.100 -> 1.101
---
Log message:
Sorting is now handled by both linearscan and iterative scan so live
intervals need not be sorted anymore. Removing this redundant step
improves LiveIntervals running time by 5% on 176.gcc.
---
Diffs of the changes: (+0 -10)
Index: llvm/lib/CodeGen/LiveIntervals.cpp
diff -u llvm/lib/CodeGen/LiveIntervals.cpp:1.100 llvm/lib/CodeGen/LiveIntervals.cpp:1.101
--- llvm/lib/CodeGen/LiveIntervals.cpp:1.100 Wed Jul 21 19:04:14 2004
+++ llvm/lib/CodeGen/LiveIntervals.cpp Thu Jul 22 10:18:10 2004
@@ -159,7 +159,6 @@
}
}
- intervals_.sort();
DEBUG(std::cerr << "********** INTERVALS **********\n");
DEBUG(std::copy(intervals_.begin(), intervals_.end(),
std::ostream_iterator<LiveInterval>(std::cerr, "\n")));
@@ -263,15 +262,6 @@
}
}
- // FIXME: This method MUST return intervals in sorted order. If a
- // particular machine instruction both uses and defines the vreg being
- // spilled (e.g., vr = vr + 1) and if the def is processed before the
- // use, the list ends up not sorted.
- //
- // The proper way to fix this is to process all uses of the vreg before we
- // process any defs. However, this would require refactoring the above
- // blob of code, which I'm not feeling up to right now.
- std::sort(added.begin(), added.end(), less_ptr<LiveInterval>());
return added;
}
More information about the llvm-commits
mailing list